Computing Sciences masthead Berkeley Lab Computing Sciences Berkeley Lab logo


Share

NEW Information for Accepted Applicants!

Spend Your Summer Learning and Earning at One of the World's Leading Centers for Computational Science!

For students majoring in Computational Science, Computer Science, Mathematics and related science and engineering fields, Berkeley Lab Computing Sciences hosts a
12-week research summer program that provides students with the opportunity to gain research experience. Participants will work on projects in computational research, high performance computing, high speed networking or a collaboration of each, under the guidance of one or more staff members. Berkeley Lab, located in Berkeley, CA is a world leader in computing, biological, physical, materials, chemical, and energy sciences research. In summers past, students at Berkeley Lab have worked in such project areas as:
  • Secure peer-to-peer information sharing
  • Analysis and solution of network and system-related software problems
  • Web-based clients for remote visualization
  • Numerical algorithms for nanoscience
  • Parallel scientific code templates
  • System administration and programming graphical user interface for generating authorization policy for an information sharing system
  • Scientific computing tools

Projects are designed so that students will complete a major portion of the work during the 12-week period. This program is geared toward students between their junior and senior years who have completed core courses in Computer Science, Mathematics, and related areas of study or graduate students in any computer and computational science discipline. The exact starting date is at the mutual convenience of the students and the needs of the program.

Compensation

The hourly wage ranges from $10.91 to $15.59 for undergraduate students and from $16.80 to $28.30 for graduate students, depending upon years of education completed. Applicants are responsible for housing and travel expenses.

How to Apply

Students interested in the program must apply on line. Due to the high level of interest in our program, applications will be accepted only through the online application process. We look forward to hearing from you soon!

Complete an online profile, and please provide the following:

  • Your skills and relevant experience
  • Your interest in the program
  • Educational information
  • List your references (name, contact information, relationship to you)


You will be contacted only if you are being considered for selection for this program. We hope to hear from you soon! You may choose to apply to specific projects in which you're interested (list of available projects are below). This is not required to apply for the program.

Application process for the 2011 program is CLOSED. Stay tuned for information about the 2012 program.

Projects

———————————

Project 73069– Reliability & Performance of Large Data Transfers (FILLED) (top)

The goal of this project is to research online monitoring and troubleshooting for improving the reliability and performance of large data transfers. This position will enhance the existing "Periscope" framework's data collection and analysis. The new software will be evaluated in the context of large data transfers performed by Globus Online.

Duties:

  • Develop software for analysis, visualization, and reporting of online data transfer bottlenecks. Design experiments and evaluate the scalability and effectiveness of the software. Publish results as appropriate.

Required:

  • Graduate or advanced undergraduate student majoring in computer science Experience with Linux, C, Java, and Python
  • Experience with statistical time-series analysis and wide-area networking

Desired:

  • Experience with R statistical language Experience with PerfSONAR monitoring framework

Compensation:

The hourly wage ranges from $10.91 to $15.59 for undergraduate students and from $16.80 to $28.30 for graduate students, depending upon years of education completed. Applicants are responsible for housing and travel expenses.

How to Apply

———————————

25611 - Authentication and Trust Fabric Projects (FILLED) (top)

OAuth Delegation:

  • Modern services are turning towards simple, open identity protocols such as OAuth and OpenID to obtain basic authentication and attributes from its clientele. Laboratories must offer services to the general public and must offer services more flexibly than they have done in the past. This project will explore how we can use OAuth to authenticate, and to delegate rights to perform some task.

DNSSEC - Based Authentication Services:

  • DNSSEC has arrived in the DOE lab community. We want to take advantage of the security framework that it offers, and begin supporting a new IETF effort to provide "trust anchors" directly from DNSSEC. We will work with the ESnet DNS managers to carve out a suitable space for experimentation, and develop some demonstration clients that can validate trust anchors using DNS queries. These trust anchors will probably be certification authority public keys, among others. We will then demonstrate and discuss this experiment with likely early adopters to establish a foundation for future work.

  • Required skills for both projects:
  • Knowledge of scripting languages and/or Java; Java is particularly desirable. Other languages may benefit these projects and can be considered.
  • Some experience with system configuration and system administration.
  • Some experience with system configuration and system administration. Installation of applications and debugging of interactions between different applications will be regularly performed.

  • Optional skills for OAuth delegation:
  • Some prior familiarity with the domain of work.
  • Some knowledge of identity and authentication technologies like OAuth, Facebook Connect, OpenID, SAML, or other such systems.
  • Familiarity with Apache.
  • For mobile phone applications, prior familiarity with software development on any of these platforms (or others).

  • Optional skills for DNSSEC – based authentication:
  • Some prior familiarity with the domain of work.
  • Familiarity or experience with DNS and with X.509 certificates.

———————————

25610 - Openflow (FILLED) (top)
ESnet has designed and implemented a circuit reservation system called OSCARS. We are interested in exploring various ways in which OSCARS and Openflow could be used together to extend a layer-2 flow into the campus environment. In addition, doing experiments with Openflow and OSCARS with a potential paper submitted to a conference is highly desirable.

Required skills:

  • Unix administration
  • Java and Python

APPLY HERE

———————————

25667 - RDMA over WAN (FILLED) (top)
The bottleneck in the movement of large datasets is no longer the network, but is now the endpoints. In particular, CPU and memory speed, bus speed (PCI), are becoming the issue for high performance data transfer. Remote DMA (RDMA) is a technology that allows zero-copy data transfers, effectively freeing CPU from the performance critical path. While RDMA has been already deployed, RDMA over high bandwidth WAN is not yet well understood, especially in the context of applications that are currently used.

Networking:

  • Learn and deploy the system software stack required to run the various RDMA
    technologies (RoCE, SoftRoCE, iWARP) in a back to back configuration. This will
    require to build custom linux kernels.
  • Run benchmark and compare with published benchmark for baseline data sanity check.
  • Using a netem node (WAN "simulator"), introduce pack loss, latency. Run benchmark
    and analyze.
  • Tune system and network.

Application:

  • Experiment with file transfer tools/middleware over RDMA (gridFTP, RDMA-HTTP,..)
  • Experiment with file systems over RDMA (Lustre, NFS,..)

Required skills:

  • Limited Linux system administration (basic)
  • Linux overall architecture understanding
  • Know how to build a Linux kernel, add drivers
  • Experience with performance tuning methodology

APPLY HERE

———————————

25666 - ANI Testbed Scheduling and Management Software (FILLED) (top)
The ANI testbed provides network researchers with a realistic environment that can be flexibly configured for developing and testing layers 1, 2 and 3 control plane experiments that manage the configuration and connectivity of the testbed switches and routers. The testbed consists of a set of computing and networking resources that can be used by researchers. Since the testbed is shared between projects, the testbed is managed in a similar manner as a cloud (IaaS). Existing Cloud Management software either does not provide support for the kind of resources the ANI testbed provides, or are not stable. This summer project is to contribute to the ongoing development of the management software of the testbed.

Specific tasks will include:

  • Replacement of Google Cal (gCal) . This will require understanding the differences
    between Google gCal API and the standard calDAV API. Existing code will need to be
    re-factored to use calDAV.
  • Integrate the calendar web based GUI.
  • Develop new features and tune existing features
  • Integrate with resource management software (virtual machine management, switch/
    router configuration, etc.)

The software is entirely written in Python, using Django as the web application framework, and
and PostgreSQL for backend database. Python experience required. Project website: https://sites.google.com/site/anitestbedrrsystem/

———————————

25665 - Network Topology translator and Visualizer (FILLED) (top)
The project entails the design and development of a tool to translate network topology data from one schema to another. The objective is to leverage existing graph manipulation tools to create, modify, and visualize network topologies, and to translate these topologies into the OGF NML schema for consumption by the ESnet OSCARS dynamic circuit provisioning software. This tool will have the potential to be widely adopted by the Research and Education Network community to support dynamic circuit services. Java or Python experience required.

———————————

25563 - Performance and Evaluation of Flash I/O devices for HPC - (FILLED) (top)
Flash memory based devices have the potential to revolutionize storage infrastructure across enterprise computing. However many questions remain about the optimal way in which to use them. The aim of this project is to measure the characteristics of various flash devices when used at various places in the storage hierarchy and measure the performance impact they have upon scientific applications.

Duties

  • Measure I/O performance characteristics of various flash devices using standard I/O benchmarking software and scientific applications.
  • Develop software to measure characteristics of flash devices not measurable using standard techniques.
  • Summarize and interpret measured data.

Qualifications

  • Undergraduate or graduate students majoring in computer science, engineering or related field. Possibly with an interest or background in I/O or performance evaluation.
  • Experience with Linux and a scripting language
  • Desired: Experience with C or C++; familiarity with excel or similar data analysis tools.

———————————

25562 - Disruptive Software Technologies for Data Focused Science (FILLED) (top)
Across many domains, scientists are struggling with data volumes and effective data management. Emerging sensor networks, more capable instruments, and ever increasing simulation scales are generating data at a rate that exceeds our ability to effectively manage, curate, analyze, and share it. This data overload directly impacts our ability to address problems of scientific and national significance. The goal of this project is to build an ecosystem to support data-intensive science. This includes investigating emerging technologies and evaluating how these technologies can help tackle scientists most demanding data challenges.

Duties

  • This position will help evaluate emerging technologies relevant to data-intensive computing such as MapReduce, and NoSQL frameworks.
  • Work closely with a science application to address their data needs applying data-intensive focused technologies and evaluate the performance of the integrated frameworks.

Qualifications

  • Graduate student majoring in computer science, engineering or related field.
  • Experience with Linux.
  • Programming experience - C, C++ or Java. 
  • Desired: Experience with emerging technologies relevant to data-intensive computing such as MapReduce, and NoSQL frameworks.

———————————

25561 - Evaluation of Cloud Computing for Science (FILLED) (top)
The goal of this project is to research how cloud computing can be used to address the computing needs for the DOE's Office of Science. This position will evaluate and understand the use of cloud computing technologies for science applications and measure the characteristics of various cloud technologies.

Duties

  • Design experiments and evaluate the qualitative and quantitative aspects of cloud computing technologies.
  • Develop appropriate software for measurements and analysis of data.

Qualifications

  • Undergraduate or graduate student majoring in computer science, engineering or related field.
  • Experience with Linux and scripting language,  
  • Desired: Experience with cloud computing technologies such as Eucalyptus, Hadoop, Programming experience - C, C++ or Java.