Folks, this post is going to be hard to follow because it involves a hair-brained scheme, some CD burnination and about 4 or 5 old Pentium IIs and/ IIIs all networked together.
Its Sunday night and I just can’t get this idea out of my head. Yes, it has little to do with church websites, unless you allow facilities scheduling requests via your church website – or are just into taking old Pentium II computers and creating your own super computer to solve your church’s parking problem.
Scheduling Church Facilities
Perhaps one of the biggest headaches facing church administration is that of facilities management. Here they have all this building space they can rent to other churches, civic groups such as the Boy Scouts and/or to private parties such as weddings, christenings, bat mitzvah, you name it. Now a days this need is even greater as the cost of heating and maintaining otherwise empty facilities becomes increasing prohibitive.
The problem is finding software that accurately provides limited church staff on a limited budget with limited time to help them what essentially boils down to resource management and capacity planning – of which there are a number of commercial products, none of which I’ve taken the time to investigate – though tempted.
About all I did do was check out the system requirements of a number of systems, many Windows based, some Linux Based, some web-based – none of them super-computer based.
That is why not use super-computing power? Somewhat familiar with what goes behind facilities management applications, most I know of approach facilities scheduling from a project/resource management approach, though I’ve seen one attempt to get it done purely via combinatorial/integer optimization. OoOOH my aching head.
For those that approach calendars via a project management model, resources are put into a database then time-shared out to events, creating a calendar of consumed resources per event.
This is a good approach, but can cause a computer to grind to a halt when you begin to check for multiple conflicts across multiple resources all being assigned and/or shared at the same time – such as the church parking lot and/or the janitor.
In plain English – what happens to my parking and custodial resources when I schedule five Bible studies, a Boy Scout Order of the Arrow meeting, a youth leaders meeting along with three weddings and a funeral all on the same Saturday?
So I’m thinking about this parking problem and thinking about some software I saw back in 1993 when working on a Department of Justice/Immigration and Naturalization Contract which simulated three international flights arriving at JFK simultaneously – and what INS resources would be required to manage the flow.
Wouldn’t it be useful (if not neat) to develop an application that could do the same with your facilities, such as your mega-church parking lot on an Easter Sunday with three services weighing in at 5,000 people per service? Then provided the results as a web-service?
So where’s where my hair-brained scheme comes into play. Why not take some otherwise useless computer hardware someone has donated for the tax write-off, network it together and put it to use as your own facilities management/parking-lot simulation super-computer?
To me, the question is, which cluster solution to use? Beowulf or Mosix?
From the Beowulf Website:
“Cluster is a widely-used term meaning independent computers combined into a unified system through software and networking. At the most fundamental level, when two or more computers are used together to solve a problem, it is considered a cluster. Clusters are typically used for High Availability (HA) for greater reliability or High Performance Computing (HPC) to provide greater computational power than a single computer can provide.
Beowulf Clusters are scalable performance clusters based on commodity hardware, on a private system network, with open source software (Linux) infrastructure. The designer can improve performance proportionally with added machines. The commodity hardware can be any of a number of mass-market, stand-alone compute nodes as simple as two networked computers each running Linux and sharing a file system or as complex as 1024 nodes with a high-speed, low-latency network.
Class I clusters are built entirely using commodity hardware and software using standard technology such as SCSI, Ethernet, and IDE. They are typically less expensive than Class II clusters which may use specialized hardware to achieve higher performance.”
From the Mosix Homepage:
“MOSIX is a cluster management system that can make an x86 Linux cluster run like a single high performance parallel computer. It is particularly useful to run intensive computing and massive I/O applications.
In a MOSIX cluster there is no need to modify or to link applications with any library, or even to assign processes to different nodes, MOSIX does it automatically – just fork and forget, like in an SMP.
MOSIX supports different cluster types, including clusters with different CPU speeds, like our 72 processors cluster”
Which one to choose?
Just fork it and forget it is very appealing to me. It is also appealing to others, such as Simon Willison who writes:
Since clustering only kicks off for longer running processes this woudn’t be much use for something like a web server farm, but could be ideal for tasks such as compilation or rendering where individual processes perform computationally intensive work for a long period of time.
Even more fascinating is ClusterKnoppix, a modified Knoppix distro that uses an Open Mosix enabled kernel. Burn a bunch of CDs, boot some standard networked PCs with them and you’ve got an instant cluster.
Simon had me at ClusterKnoppix – and ClusterKnoppix has me thinking Mosix is the right tool for this overkill job. No simulation language required, just enough language skills to simulate a simulation.
Then once you’ve shot your foot clean off doing that, you can create a web service so other church applications across other operating systems, such as Outlook. After all, its not like Apache doesn’t come bundled with Knoppix, and not like you couldn’t use a little bit of Perl, PHP or Python to take requests and return simulation-based conflict analysis for your church’s resources in a yummy XML format.
Okay, I’m drooling now so I’m going to quit – but that’s my idea, and I’m sticking with it. Hope you are as amused by it as I was during the course of the day.