MHF grant

=Undergraduate Computer Science (UGCS)=

Title, Purpose, and Impact

 * Title: UGCS4.1 - student-centric computing
 * Purpose: To upgrade the UGCS room to a first-class computer lab for use by both students and classes.
 * Intended impact: to ensure that UGCS fills the vacuum created by the removal of the IMSS Steele lab in the 2006-2007 school year by providing a central computer lab with a friendly working environment.

Total Funds Requested
$12,000

Contact information
Organizational contact information (preferred for correspondence in lieu of individual e-mails - sysadmin e-mail is permanently logged so that future sysadmins can refer to it)
 * Lab phone number: x4590
 * E-mail: sysadmins@ugcs.caltech.edu

The individuals submitting this request, who will also be responsible for submitting progress reports, are:
 * Joshua Hutchins, lead sysadmin - MSC 412, jdhutchin@ugcs.caltech.edu, (317) 997-3749; sophomore
 * Matthew Maurer, sysadmin - MSC 548, maurer@ugcs.caltech.edu, (952) 334-1783; sophomore
 * Alex Roper, sysadmin - MSC 839, alexr@ugcs.caltech.edu, (734) 645-6339; junior

The previous lead sysadmin (Elizabeth Fong) also participated in the writing of this proposal.

Note: electronic versions of this proposal will be cryptographically signed using GPG instead of containing images of the signatures of the submitters; paper versions of this proposal will be signed in ink.

The campus account established for UGCS is bursar account number C00091604; any funds approved may be deposited there.

Organization Information
URL: http://www.ugcs.caltech.edu

UGCS is Caltech’s student-run enthusiast computer cluster dedicated to learning and experimenting with computer hardware and software and is one of approximately six such student-run facilities in the United States. UGCS charges no dues and is open to all members of the Caltech community, including undergraduates, graduate students, staff, faculty, and alumni. Undergraduate alumni who use the cluster regularly are allowed to keep their accounts following graduation to foster communication between current and past students. UGCS has approximately 1,500 active accounts. Undergraduates, graduate students, alumni, faculty, and on-campus organizations use UGCS as an experimentation ground, a base of contact, and a permanent home on the Internet.

UGCS originated as part of the Caltech CS department in 1989 when the CS department turned over control of its official cluster of UNIX computers located in Jorgensen to student sysadmins. The cluster has significantly evolved over the past 18 years as hardware architectures and operating systems changed and sysadmins joined and graduated. In 2004, we were cut loose from Caltech CS and became an independent student organization with separate funding. At this time, UGCS stopped being used officially for CS classes and we moved into a new location in the basement of Winnett.

Our goal is to provide computing services to all students, staff, faculty, and alumni of Caltech, with a special emphasis on undergraduates and alumni. We have a secondary goal of promoting Unix and computing literacy among undergraduates by providing a live, working cluster that undergraduates can gain experience from managing.

UGCS is the only generally available computer resource on the Caltech campus that caters to computer enthusiasts: the cluster provides a ﬂexible, low-key environment where any member may experiment with a wide range of hardware and software in ways that would be otherwise impractical with private equipment or on official computing cluster. UGCS allows students to have fun and learn new technologies without interfering with official campus resources. Additionally, UGCS serves as an anchoring point for alumni in the undergraduate and graduate communities. Because UGCS allows members to continue to use accounts after graduation and provides a wide range of communication channels, it is in a unique position to allow past students to stay in touch with fellow classmates, UGCS members currently enrolled at Caltech, and staff and faculty who use the cluster.

Unlike the official IMSS systems, UGCS allows students who graduate and leave Caltech to keep their accounts for as long as they actively use them. Many users of UGCS joined the cluster over ten years ago, and still use UGCS as their primary email and web addresses. The only other computer system that provides a similar resource is the Alumni server, which allows only email and web access. In contrast, alumni users of UGCS still have access to the full range of services the cluster offers, including shell and graphical access to all installed software and tools.

We offer significantly more services and disk quota compared to either IMSS or the Alumni Association servers. Although IMSS provides all Caltech members with a place to publish web pages on, these web pages are static; there is no way to dynamically update or modify web pages based on visitor or author input. UGCS encourages these sort of dynamic pages with full CGI scripting access and a number of tools installed to facilitate web page creation. In particular, UGCS offers SQL database use to every member. SQL databases are essential to almost every sort of complex web page scripting system, from weblog software and on-line photo galleries to extensively customized sites similar to the Caltech student government web page, donut.caltech.edu. Both individual members and other groups who need advanced web publishing options use these services. Since UGCS members may keep their accounts indefinitely, these web-based services allow our users to create an extensive and full-featured website without having to worry that their presence on the web will disappear immediately after graduation.

UGCS is uniquely suited to allow members to experiment with software and hardware in a way that other oﬃcial clusters can not support. Because we do not provide services that are critical to the Institute, we can afford to separate a significant portion of our hardware and dedicate it to potentially "destructive" testing; that is, experimentation with hardware and software that might affect other users on the system. Because the administrators of UGCS are prepared to maintain this environment, and since members are aware that experimental computers are not reliable, we allow tinkering and experimentation that individuals and other labs cannot afford in time, equipment, and reliability.

We have over 1,500 active users and have had at least 4,000 unique users since 1989. We generated a significant amount of new interest at the beginning of this year, with more than 90 accounts being created since the beginning of the school year (representing approximately 10% of the total undergraduate population). There are currently three sysadmins responsible for maintenance of the cluster, and we have created a junior sysadmin program to recruit new sysadmins and ensure that we continue to have sufficient staff to run the cluster.

Project Description
The past year has been a significant period of change for UGCS. We have planned and implemented a complete software and hardware overhaul of the cluster. The old system had developed obscure, poorly documented, and unmaintainable quirks over its 18 years of existence. Our goal in the first phase of the UGCS4 project was to make UGCS maintainable for future sysadmins' and users' convenience so we would have a more solid foundation to build and enhancement other services. Now that this goal is complete, we can turn our attention to offering more services.

Ever since the IMSS Steele lab was closed this past school year, there has not been a central computing lab accessible to all students - the individual IMSS house labs are generally open only to those undergraduates belonging to their respective houses. With the completion of the UGCS4 project, we've created what may become a suitable replacement. However, we still have a number of shortcomings that we wish to address in order to increase the attractiveness and usability of the lab.

In the next stage of UGCS4 development, we are aiming to encourage greater use of the physical Undergraduate Computer Science (UGCS) space since our goal of refreshing the overall design for the modern era and revitalizing the hosting and remote services to maintain the relevance of UGCS's services has been completed. We are seeking funds to finish some hardware purchases and to make the lab a more suitable work environment. These improvements are designed with future expansion in mind so the lab can be expanded in future years as our computing needs change.

Current Funding
UGCS is now funded $5000 per year by Caltech IMSS. This covers many lab expenses; however, it is not enough to cover both expendables and our capital expenditures.


 * FY 2007-2008 IMSS Funding ($5000)
 * Paper: $35.50, 2007-11-01
 * Tools etc: $37 2007-11-26
 * Stereo Receiver: $138.55
 * Low-profile mounting brackets: 2007-11-28 $31.55
 * 3 Galaxy 8600 Graphics cards: 2007-11-28 $429.11

Total: $691


 * September, 2004 MHF grant (proposal): $21,500
 * Initial room remodeling (March 21, 2005): -$2,048.60
 * Uninterruptible Power Supply (March 29, 2005): -$1,068.71
 * Additional room remodeling (April-July, 2005): -$2,707.85
 * Balance as of when current sysadmins took over in February, 2007: $15,674.15
 * Hard disks in March, 2007 (Increased User Storage): $295.58 each x 12 = $3,547.00
 * charon (router): -$1,463.10
 * hermes (New Mail Server): -$3,276.48
 * hephaestus (build server): -$1,122.25
 * poseidon (webserver): -$1,122.25
 * 9xMuses/Naiads (Replacement of Client Computers; $467 per system): -$4203.00
 * 3xNVIDIA 8600 cards ($102.44 each): -$307.00
 * 10x1gb Memory ($36.59 each pair): -$365.89
 * 3 Gigabit Ethernet Cards to upgrade file servers: -$113

Cost Breakdown for Future Plans

 * The amount requested includes the items below plus 8 percent sales tax.
 * 10 new 22" Widescreen LCD monitors - $300 each (e.g. http://www.newegg.com/Product/Product.aspx?Item=N82E16824116064 $3000 total
 * UGCS currently has a large number of very old CRT monitors which are bulky and take up a disproportionate amount of space. Due to their age, some of them are going bad.  They tend to flicker, can be hard to read, and are difficult to move and store.  In order for UGCS to be a preferred work location for students, dual LCD monitors are necessary to compete with the setups students may have in their rooms.  Regardless of how new our computers are, the monitors represent the face of the lab.  At present, the CRT's result in a cluttered and antiquated appearance despite our brand new hardware.
 * Tables: http://modernoffice.stores.yahoo.net/hicota.html 9 30" x 60" tables @ $250: $2250
 * Most of the furniture in the UGCS lab is quite old. We would like to replace our tables, which are unstable and unsightly, with newer ones.
 * Additional storage for mail, http://accessories.us.dell.com/sna/products/System_Drives/productdetail.aspx?c=us&l=en&cs=19&sku=341-3372 3x$330 = $990:
 * These 3 hard drives would double the amount of storage we have for mail directories. These disks will allow us to increase our mail quotas and ensure that we don't run out of space as we add more accounts.
 * Backup solution: $4750
 * Currently, UGCS's biggest shortcoming is our lack of off-site backup. We need to be prepared for catastrophic failures, either of hardware or an event such as a fire in Winnett.  To prepare for this, all large computing centers have off-site backups of their data.  We have received approval to use IMSS's backup safe in CSS to store our backups, but we currently do not have a backup system in place.  This item is for a server, tape drives, and tapes so that we can start doing off-site backups.
 * This price includes two rack-mountable tape drives ($2400), a server dedicated to running the backups ($1300) and tape media ($40). A quote for the server and tape drive is http://ecomm.dell.com/dellstore/basket_retrieve.aspx?c=us&cs=555&l=en&s=biz&itemtype=CFG&cart_id=1004189120075&toEmail=elizabeth@ugcs.caltech.edu, and the tape media is http://www.cdw.com/shop/products/default.aspx?EDC=1148601.

Ongoing Costs
Given the nature of UGCS's operations, it is difficult to class its hardware expenses as one-time or ongoing - we generally would like to replace a set percentage of our oldest systems each year and replace them with new systems that will last at least three years before needing another replacement cycle. However, given that we have just purchased 9 new login systems and four new servers, we do not expect to need to replace these systems for another three to four years. Our other ongoing costs are lab maintenance, including printing supplies. These are covered by our $5000 yearly budget from IMSS.

Source of Funds for Ongoing Costs
Caltech IMSS has agreed to give us $5000 a year to maintain the cluster and our lab. This is enough to cover ongoing maintenance and replace some machines every year so that our cluster does not become outdated.

Continuity
UGCS is maintained and administered by a team of undergraduate volunteers (the sysadmins), although any member is welcome to help modify or improve the cluster. Current administrators are joined each year by new volunteers, and are assisted by past admins who choose to play an active role in the cluster maintenance. Because of this continuity, UGCS has maintained a very large pool of knowledge among its administrators, even as students graduate and are replaced.

There is significant overlap between the sysadmins of UGCS and the IMSS student house representatives who maintain the house computer labs and assist other students with computing and networking issues. We currently have three sysadmins - a junior (Alex Roper) and two sophomores (Joshua Hutchins and Matthew Maurer). Our junior sysadmin program currently has two members, and we will add more this term. We had three sysadmins (all seniors or superseniors last year) leave UGCS in 2007 due to graduation or time constraints. As of January 2008, our previous lead sysadmin has gone on sabbatical from Caltech and has consequently resigned, but remains available to assist with the cluster.

We expect to be able to recruit and retain approximately two to three freshmen per year as sysadmins in order to maintain the continuity of the cluster. This strategy has worked consistently for the past 18 years of UGCS's existence and is unlikely to be a problem so long as it is aggressively followed. The history of UGCS shows that there have been dry spells of one or two years between recruitment of new admins in the past that might be attributed to prospective sysadmins being discouraged by the arcane nature of the previous system and thus the high level of motivation and technical expertise required. With the streamlined architecture of the UGCS4 project, this difficulty has been solved.

Advertisement
Because of the fact that many departments such as the Biology department do not have departmental webhosting with dynamic scripting, many faculty and TA's are currently unable to use teaching tools such as wikis or dynamic course websites. We hope to promote our webhosting services to faculty and TA's so that they will be aware of the resources we can provide them for their future courses in second term and beyond.

We hope to host informal classes on computing topics such as providing introductions to Linux, and advertise these classes through postings on the ASCIT club calendar and flyers. Keegan McAllister's planned student-taught Linux class to be offered next term is one such class that may be able to make use of UGCS for this purpose; RuthAnne Bevier's monthly security discussion group is another potential user of our space. These classes will help draw people to the lab and increase its use.

In order to increase the convenience of using the cluster, we plan to offer to place UGCS nodes in the IMSS house labs, allowing students access to data and programs on their UGCS account from the convenience of their own house; the UGCS nodes would largely replace existing individual Linux computers maintained in the IMSS labs whose usefulness is currently hampered by their lack of interconnectivity with existing computing resources and servers.

Major Tasks and Labor Required
The major tasks we need to accomplish are to install any new hardware which we purchase, network with alumni and students to promote UGCS, and to continue maintaining/improving the UGCS architecture. Our current staff of three sysadmins is currently strained due to our courseload, but we will be able to complete this upgrade within two months of it being funded.

Location for Capital Expenditures
UGCS occupies a basement room in Winnett which was remodeled especially for our use in 2004. We have all of our approximately 24 servers and 7 colocated systems there and expect that any new equipment purchases would also be put to use in the UGCS lab.

Our lab is relatively safe and secure - it is keyed on South Master at present, and we have not have any problems with equipment theft. Additionally, we are in the process of upgrading the security on our server closet to a numerical passcode entry in order to ensure that unauthorized individuals cannot gain access, given the large number of South Masters floating around and the high value of our servers. This is being completed from our general yearly budget.

Past Experience
The three current UGCS sysadmins (and one recently retired sysadmin) were entirely responsible for the construction of UGCS4 from scratch over the course of approximately 9 months; we designed and implemented a scalable, flexible, and maintainable architecture which will be able to support UGCS operations for many years into the future with minimal large-scale change. The UGCS4 project was coordinated at http://www.ugcs.caltech.edu/wiki and an archive of all of our records is available on the wiki. The continuation of this project which we are proposing in this funding request is of much lesser complexity compared to the project which we have just completed. In addition, we maintain contact with former UGCS admins and draw from their experience on an as-needed basis.

Context
Because of UGCS's relevance to both undergraduate students and alumni, we believe that strong connections to other on-campus organizations are a must. We have been in communication with Elizabeth Allen from the Alumni Office regarding cooperation between the alumni.caltech.edu services and UGCS. We maintain a close working relationship with the IHC and with Ruddock/Dabney/Blacker/Fleming in order to ensure that their hosting and e-mail remain as stable as possible. We colocate the ASCIT Donut server and the Blacker and Dabney servers in our space, and provide systems administration for Donut. The Tech, ASCIT's newspaper, used UGCS as its temporary working space over the past year while its offices in the SAC were under construction. We work on a regular basis with the IMSS network and security groups since we maintain one of the major computing clusters on campus - we alert each other of threats to security and cooperate in investigations of account/network security.

Additionally, we have begun to reach out to similar student-run clusters and computing organizations at other schools, such as the MIT Student Information Processing Board and the Open Computing Facility at UC Berkeley in order to exchange information and provide reciprocal backup services for each other. This project is called the Student Computing Consortium, and more information can be found at http://www.student-computing.org.

Chris Gonzales, ASCIT President
Chris sent the following e-mail on our behalf to all undergraduates: The Undergraduate Computer Science cluster would like to encourage you to sign up for a UGCS account. It's free and the process only takes five minutes; you don't have to be a CS major or have any extensive computer experience to take advantage of your account. You can use UGCS to keep in touch for years to come without ever needing to change your e-mail address. It's very easy to set up a personal website using your account and keep backups of your assignments in case your computer fails. UGCS is also an excellent sandbox for learning about Linux without needing to install it on your own computer. For more information about the cluster, you can visit https://www.ugcs.caltech.edu/ or email sysadmins@ugcs.caltech.edu. Feel free to drop by the cluster in the basement of Winnett any time to work or hang out (you'll need a South Master to get in). Most houses and ASCIT rely on their services, so I can vouch for their reliability.

Marissa Cevallos, Editor of The Tech
UGCS graciously shared their tight quarters with the Tech during all of last year, and is continuing to make room for us as we wait for the SAC renovations to be completed. Their efforts are greatly appreciated as we would have not a room without them.

The Tech

Rich Fagen, CIO (IMSS)
The UGCS cluster has a long and storied history at Caltech. It has provided, and continues to provide, an excellent environment for Caltech undergraduates to further their hands-on experience with state-of-the-art computing environments. The UGCS cluster has also served as a communications platform that has helped strengthen the sense of community among Caltech students long after they have graduated. The UGCS cluster and the students who operate it are part of what makes Caltech...Caltech

Rich Fagen Chief Information Officer Information Management Systems and Services (IMSS) Caltech