|
Main
Page
Graduate
Program
Undergraduate
Program
Course Information
Course
Catalog
Course
Web Pages
Our
Research
Research Areas
Research
Projects
Publications
Faculty
Graduate
Students
Research
and Technical Staff
Administrative
Staff
Alumni
Calendars
Computing Facilities
Yale
Computer Science FAQ
Yale Workstation Support
Computing
Lab
AfterCollege
Job Resource
Contact
Us
History
Life in the Department
Life About Town
Directions
Faculty
Positions
City
of New Haven
Yale Applied Mathematics
Yale Faculty of Engineering
Yale
University Home Page
Google Search
Yale Info Phonebook
Internal |
|
Faculty Recruit Talk
April 3, 2008
10:30 a.m., AKW 200
Sign
up to meet with speaker.
Speaker: Charles
Killian, University of California, San Diego
Title: Mace: Systems and Language Support for Building
Correct, High-Performance Networked Services
Abstract: Building distributed systems is particularly difficult
because of the asynchronous, heterogeneous, and failure-prone environment
where these systems must run. This asynchrony makes verifying the correctness
of systems implementations even more challenging. Tools for building distributed
systems must strike a compromise between reducing programmer effort and
increasing system efficiency. Mace is a C++ language extension, compiler,
runtime, and toolset, that translates a concise but expressive distributed
system specification into a C++ implementation. Mace exploits a natural
decomposition of distributed systems into a layered, event-driven state
machine. A key design principle of Mace is to separate each service algorithm
from the implementation mechanics (serialization, dispatch, synchronization,
etc.), debugging code (logging and property testing), and its utility
services (lower-level services providing a specified interface). Our experience
indicates that precisely because Mace imposes limits on the design structure
of distributed systems, it supports the implementation of a wide variety
of high-level supporting tools, including model checking, simulation,
live debugging, and visualization. Mace is fully operational, has been
in development for four years, and has been used to build a wide variety
of Internet-ready distributed systems. This talk will describe both the
Mace programming language design and MaceMC, the first model checker that
can find liveness violations in unmodified systems implementations.
Bio: Charles Killian is a Ph.D. Candidate in the Department
of Computer Science and Engineering at the University of California, San
Diego under the supervision of Amin Vahdat. Before transferring to UCSD
in August 2004, he completed his Masters in Computer Science from Duke
University with Amin Vahdat. His research is at the boundary of systems
and programming languages, focusing on ways to use compilers and language
constructs to dually bridge the gap between performance and programming
expression, and to provide high-level tools for debugging, analysis, and
understanding. Over the past 4 years he has implemented the Mace programming
language and toolkit, built numerous distributed systems, and designed
MaceMC, the first model checker capable of finding liveness violations
in unmodified systems code. Charles will graduate in June, 2008.

|
 |