Two students, Sonia Bui and Sweta Patel, are working on related but independent projects. Their description of the projects are below.
Students/Projects:
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.
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.