I work on programming tools to enable distributed
and parallel programming, mostly in the context of wireless sensor
networks. I am interested in compiler construction, language design,
and novel parallel architectures. I'm advised by Sam Madden and Arvind at MIT, but I also work on Macroprogramming with Matt Welsh and Greg Morrisett at Harvard. I'm the designer and implementor of the Regiment programming language, as well as the more recent WaveScript programming language (which is part of the WaveScope project).
Deterministic Reductions in an Asynchronous Parallel Language,
Zoran Budimlic, Michael Burke, Kathleen Knobe, Ryan Newton, David Peixotto, Vivek Sarkar, Edwin Westbrook.
Workshop on Determinism and Correctness in Parallel Programming (WoDet), Newport Beach, CA, March 2011.
(PDF)
Stream Programming Languages,
Ryan Newton.
Book Chapter, Encyclopedia of Parallel Computing, Springer Verlag, 2011
The Concurrent Collections Programming Model,
Michael G. Burke, Kathleen Knobe, Ryan Newton, Vivek Sarkar.
Book Chapter, Encyclopedia of Parallel Computing, Springer Verlag, 2011
The CnC Programming Model
,
Zoran Budimlic, Michael Burke, Vincent Cave, Kathleen Knobe, Geoff Lowney, Ryan Newton, Jens Palsberg, David Peixotto, Vivek Sarkar, Frank Schlimbach, Sagnak Tasirlar.
Journal of Scientific Programming, 2010.
A Synergetic Approach to Throughput Computing on x86-based Multicore Desktops
,
Chi-Keung Luk, Ryan Newton, William Hasenplaugh, Mark Hampton, Geoff Lowney.
IEEE Software Magazine, 2010.
Capturing and Composing Parallel Patterns with Intel CnC,
Ryan Newton, Frank Schlimbach, Mark Hampton, Kathleen Knobe.
HotPar 2010, Berkeley, California, June 2010.
(PDF)
Experience Report: Embedded, Parallel Computer-Vision with a Functional DSL,
Ryan Newton, Teresa Ko.
International Conference on Functional
Programming (ICFP '09), experience report track, Edinburough,
Scotland, August 2009.
(PDF)
Wishbone: Profile-based Partitioning for Sensornet Applications,
Ryan Newton, Sivan Toledo, Lewis Girod, Hari Balakrishnan, Samuel Madden.
Networked Systems Design and Implementation (NSDI '09),
Boston, MA, April 2009.
(PDF)
Design and Evaluation of a Compiler for Embedded Stream Programs,
Ryan Newton, Lewis Girod, Michael Craig, Greg Morrisett, Samuel Madden.
In Language and Compiler Technology for Embedded Systems (LCTES '08),
Tucson, AZ, June 2008.
(PDF)
The Pothole Patrol: Using a Mobile Sensor Network for Road Surface Monitoring,
Jakob Eriksson, Lewis Girod, Bret Hull, Ryan Newton, Samuel Madden, Hari Balakrishnan.
In Mobisys 2008, Breckinredge, Colorado, June 2008.
(PDF)
VoxNet: An Interactive, Rapidly-Deployable Acoustic Monitoring Platform,
Mike Allen, Lewis Girod, Ryan Newton, Daniel T. Blumstein, Deborah Estrin
In Proceedings of the International Conference on Information
Processing in Sensor Networks (IPSN/SPOTS '08),
St. Louis, Missouri, April 2008.
(PDF)
XStream: A Signal-Oriented Data Stream Management System,
Lewis Girod, Yuan Mei, Ryan Newton, Stanislav Rost, Arvind
Thiagarajan, Hari Balakrishnan, Samuel Madden.
In Proceedings of the International Conference on
Data Engineering (ICDE'08), Cancun, Mexico, April 2008.
(PDF)
The Regiment Macroprogramming System,
Ryan Newton, Greg Morrisett, and Matt Welsh.
In Proceedings of the International Conference on Information
Processing in Sensor Networks (IPSN'07), Cambridge, MA, April 2007.
(PDF)
The Case for a Signal-Oriented Data Stream Management System,
Lewis Girod, Yuan Mei, Ryan Newton, Stanislav Rost, Arvind Thiagarajan, Hari Balakrishnan, Samuel Madden.
In Proceedings of CIDR, 2007.
(PDF)
Building up to Macroprogramming: An Intermediate Language for Sensor Networks,
Ryan Newton, Arvind, and Matt Welsh.
In Proceedings of the Fourth International Conference on
Information Processing in Sensor Networks (IPSN'05), April 2005.
(PDF)
Region Streams: Functional Macroprogramming for SensorNetworks,
Ryan Newton and Matt Welsh.
In Proceedings of the First International Workshop on Data Management for Sensor Networks (DMSN),
Toronto, Canada, August 2004.
(PDF)
Amorphous Language Implementation, 2002, CSAIL Tech Report, MIT-CSAIL-TR-2006-015 (PDF)
Talks
Functional in the field, ICFP DEFUN Workshop 2008
(powerpoint)
Token Machine Language: An Intermediate Language for
Sensor Networks, IPSN 2005
(keynote), (pdf)
Region Streams: Functional Macroprogramming for
Sensor Networks, DMSN 2004
(powerpoint)
Software
Here are some links to freely available software packages that I have written. Many of these are simple utilities that I've written for my own convenience.
If you know of common unix commands that accomplish the same behavior let me know -- I missed them!
wordsetdiff:
Simple utility to compare file contents, treating files as unorded collections of N-tuples of words.
Source here (haskell), also binaries
for Mac and
for 64 bit Linux.
ds: A somewhat more precise and portable replacement for the unix du utility. It lists the exact number of bytes in files, disregarding symlinks and directories---anything that might differ between platforms. You can probably accomplish this with ls and a little summing. I use this utility almost every day for quickly confirming that I have successfully unisoned directories across different operating systems.
OCaml sources here), also binaries
for Mac and
for Linux (32 bit). The source package also includes a similar mods utility for summarizing the modtimes in directories.
Also, most of the open-sourced packages I'm currently working on are
here, on github.
Blogs
Recently I've been writing a few blog posts. Below are some recent ones.
I used Yahoo Pipes and feedburner to aggregate my posts from different locations into
one feed that is available here.