CREW'02 at Santa Clara University

Project: System Support for Parallel Computation in Networks of Workstations

Two students, Sonia Bui and Sweta Patel, are working on related but independent projects. Their description of the projects are below.

Students/Projects:


Computational Steering System

Student Profile/Biography:
I am currently a senior Computer Engineering student at Santa Clara University. I will graduate in June 2003 and plan to attend graduate school afterwards. I am working on a computational steering system for my year-long senior design project involving research, design and implementation.

Project Info:
I am trying to create a simpler, more flexible, computational steering system, CS_Lite. For usually static, batch, parallel programs, a computational steering system allows user interaction in the forms of outputting intermediate results and changing the values of program parameters. A "server" node is where the results are sent to and where input for new parameter values are taken from. The server then sends this new value to the rest of the "client" nodes exectuting the batch program. For my project, I will write the intermediate results to a window on the screen and to a file. The user will be able to input values from another window or a file. The project also features the ability to set up a new server if the current server fails. If time allows, I will use SSL to ensure security of data transmissions between the server and clients.

Current Project Status:
Designing the project took more time than expected, due to unforeseen problems and complexities. Luckily, we are pretty much done with design and can commence with implementation. So far, I have created the server program for receiving results (UDP), and the server program for sending outputs (TCP), both multithreaded.


Virtual Private Custer

Student Profile/Biography:
I am a Computer Engineering senior student at Santa Clara University. I intend to graduate in June 2003. For my senior design project, which is a yearlong endeavor of design, implementation and testing of a computer-engineering concept, I am working on a project based on security issues of the clustering technologies of the present.

Project Info:
Briefly explaining, the project is all about creating a secure environment for executing parallel applications in a cluster of Linux computers. The security features of VPC include application authorization before the application can run on the cluster nodes to ensure that no malicious application takes over the computing resources and disrupts the execution environment. The features also include creating and removing the firewalls before and after the applications execute. The firewalls are created on the nodes selected for executing a particular selected application, by the master coordinator. This ensures a non-interrupted execution environment for the application. The master node coordinates the use of nodes that are available for execution.

Current Project Status:
I have completed the application authorization script, the firewall script and a script that converts hostnames to IP addresses on Linux. This means that now I can test to see that only the allowable applications use the computing resources with the help of the authorization script. The firewall script takes a list of IP addresses and produces the firewall/Linux Iptable rules that will allow communication only within the selected computer nodes while the parallel application executes. For my project I also learnt how to automatically create new process groups in MPICH so that the applications can actually run on the selected nodes. So now the next step is to take the application name, node requirement and the arguments and actually implement the firewall and execute the application. The underlying architecture of this project is based on the SSH protocol for secure, encrypted message passing between the computers. Using SSH removes the need for .rhosts files that pose severe security threats to the users if the intruder gains access to the master node.