I'm a professor in the
Computer Science Department
at
Swarthmore College. I
received my Ph.D. in Computer Science in 1999 from the
University of Wisconsin where
I was advised by
Bart Miller.
My general research area is parallel and distributed systems.
Current Semester
Past Courses:
Some links to past courses I've taught (most include links
to course webpages from multiple past semesters):
CS21
| Introduction to Computer Science (most recent S'24)
|
CS31
| Introduction to Computer Systems (most recent F'24)
|
CS35
| Data Structures and Algorithms (most recent S'02)
|
CS44
| Database Systems (most recent F'20)
|
CS45
| Operating Systems (most recent S'14)
|
CS75
| Compilers (most recent S'09)
|
CS87
| Parallel & Distributed Computing (most recent F'23)
|
CS85
| Distributed Systems(S'08)
|
CS97
| Senior Conference (S'00)
|
Research
My general research area is parallel and distributed systems.
My main projects,
Nswap and Nswap2L,
implement fast backing storage systems for cluster computers.
Nswap is a network RAM
system for Linux clusters. Nswap allows individual cluster nodes
with over-committed RAM to locate and use idle RAM of other nodes
in the cluster. The goal of the project is to speed-up the runtime
of cluster applications by avoiding the slow swapping to disk that
normally occurs when a node doesn't have enough RAM space for the
programs it is running. Nswap2L implements a virtualization layer on top
of a heterogeneous collection of cluster storage devices including
Nswap Network RAM, Flash SSD, disk and other cluster-wide backing store.
It is added as a single block device to individual cluster nodes that
transparently manages block placement on the set of underlying
heterogeneous storage devices.
Projects:
Grants:
- National Science Foundation (NSF:DUE:IUSE),
Developing Dynamic and Interactive Materials to Teach Computing Systems Concepts to All Students, co-PI Kevin Webb (and collaborative grant with Suzanne Mathews, West Point), 2022-26.
- ACM SIGCSE Special Projects Award,
Dive into Systems -
A Free Online Textbook for Introductory Computer Systems Topics, 2019.
- National Science Foundation (NSF:CNS:CSR),
A
Fast Backing Store System on top of Network RAM, Flash, and other
Cluster-wide Storage, 2011-2016
- Computer Research Association (CRA-W:CREU),
Adding Reliability Support to Nswap,
a Network Swapping System for Linux Clusters, 2004-2005
Selected Publications
Textbook: Dive into Systems: A Free on-line Textbook
|
Dive into Systems:
a gentle introduction to computer systems, computer organization,
and parallel computing.
by Suzanne J. Matthews, Tia Newhall, and Kevin C. Webb
(Free
on-line version,
Print version:
No Starch Press, August 2022)
Dive into Systems is written for an audience assuming only a CS1
background. Free access to our on-line texbook is available off our
book webpage (diveintosystems.org),
which also includes more information about its content,
features, use, and mailing list for instructors.
|
Selected Conference and Journal Publications (student co-authors marked with `*`)
- "Efficient Parallelization of Dynamic Programming for Large
Applications"
Matilda Ferguson*, Lila Fontes, Tia Newhall,
Proceedings of the 2023 Practice and Experience in Advanced Research
Computing Conference (PEARC'23),
Portland, OR, USA, July 2023.
Best Student Paper Award Applications and Software Track.
(paper)
-
"A Free Online Textbook Introducing Computer Architecture Topics"
Tia Newhall, Suzanne Matthews, Kevin Webb,
Proceedings of the Workshop on Computer Architecture Education
(WCAE'23) in conjunction with the 50th International Symposium on Computer
Architecture (ISCA), Orlando, FL,
USA, June 2023.
(paper,
talk slides)
- "Introducing Parallel Computing in a Second CS Course"
Tia Newhall, Kevin C. Webb, Vasanta Chaganti, Andrew Danner.
Proceedings of 12th NSF/TCPP Workshop on Parallel and
Distributed Computing Education (EduPar-22), in
conjunction with
IPDPS'22, May 2022.
Best Paper Award
(paper (or
here),
talk slides)
- "Dive into Systems: A Free, Online Textbook for Introducing Computer Systems"
Suzanne J. Matthews, Tia Newhall, Kevin C. Webb
Proceedings of the 52nd ACM Technical Symposium on Computer
Science Education (SIGCSE '21),
March, 2021
(open access paper,
talk slides)
- "Trying to do it all in a single course: a surprisingly good idea"
Tia Newhall
Proceedings of Workshop on Education for High
Performance Computing
(EduHPC-20),
in conjunction with the ACM-IEEE International Conference for
High Performance Computing, Networking, Storage and Analysis
(SC20),
November 2020. Best Paper Award
(paper (or from
EduHPC),
talk slides)
- "SmartK: Efficient, Scalable, and Winning Parallel MCTS"
Michael S. Davinroy*, Shawn Pan*, Bryce Wiedenbeck, and Tia Newhall
Proceedings of the ACM-IEEE International Conference for
High Performance Computing, Networking, Storage, and Analysis
(SC19)
Denver CO, November 2019. (poster, abstract)
- "ParaVis: A Library for Visualizing
and Debugging Parallel Applications"
Andrew Danner, Tia Newhall, Kevin C. Webb
Proceedings of 9th NSF/TCPP Workshop on Parallel and
Distributed Computing Education
(EduPar-19),
in conjunction with IEEE
IPDPS'19,
Rio de Janeiro, Brazil May 2019.
(paper,
or from EduPar'19 webpage)
- "Fire Simulator and Fractals: using a visualization library
to introduce CUDA"
Tia Newhall, Andrew Danner
Proceedings of 8th NSF/TCPP Workshop on Parallel and
Distributed Computing Education (EduPar-18), in conjunction with IEEE
IPDPS'18, Vancouver, British Columbia, May 2018.
(webpage with paper and resources)
- "Transparent Heterogeneous Backing Store for File Systems",
Benjamin Marks*, Tia Newhall
The 26th International Heterogeneity
in Computing Workshop (HCW'17), in conjunction with IEEE IPDPS'17. Orlando FL,
May 2017. (paper or paper.pdf)
- "Pervasive Parallel and Distributed Computing in a Liberal Arts College Curriculum"
Tia Newhall, Andrew Danner, Kevin C. Webb
The Journal of Parallel and Distributed Computing, volume 105, July 2017.
(open access paper).
-
"Nswap2L: Transparently Managing Heterogeneous Cluster Storage Resources
for Fast Swapping"
Tia Newhall, E. Ryerson Lehman-Borer*, Benjamin Marks*
Proceedings of the ACM International
Symposium on Memory Systems (MemSys'16), October, 2016.
(paper, talk_slides)
- "A Support Program for Introductory CS Courses that Improves
Student Performance and Retains Students from Underrepresented Groups"
Tia Newhall, Lisa Meeden, Andrew Danner, Ameet Soni, Frances Ruiz,
Richard Wicentowski
Proceedings of the ACM Technical Symposium on Computer
Science Education (SIGCSE), March 2014.
(paper.pdf,
talk_slides.pdf)
- "Integrating Parallel and Distributed Computing Topics into
an Undergraduate CS Curriculum",
Andrew Danner and Tia Newhall
Proceedings of the Third NSF/TCPP Workshop on Parallel and Distributed
Computing Education (EduPar'13), (in conjunction with IEEE IPDPS'13),
Boston MA, May 2013.
(paper.pdf)
- "Chestnut: A GPU Programming Language for Non-Experts",
Andrew Stromme*,
Ryan Carlson*, Tia Newhall
Proceedings of ACM International Workshop on Programming
Models and Applications for Multicores and Manycores
(in conjunction with PPoPP'12), New Orleans LA, February 2012.
(paper.pdf)
- "Incorporating Network RAM and Flash into Fast
Backing Store for Clusters"
Tia Newhall and Douglas Woos*
Proceedings of IEEE Cluster, Austin, TX, September 2011
(paper.pdf,
talk_slides.pdf)
- "PeerMon: A Peer-to-Peer Network Monitoring System",
Tia Newhall, Jānis Lībeks*, Ross Greenwood*, Jeff Knerr,
Proceedings of USENIX 24th Large Installation System Administration
Conference (LISA), November 2010
(paper.pdf)
- "Reliable Adaptable Network RAM",
Tia Newhall, Dan Amato*, Alexandr Pshenichkin*
Proceedings of IEEE Cluster Computing,
Tsukuba, Japan, September 2008
(paper.pdf)
- "Parallelizing Neural Network Training for Cluster Systems",
George Dahl*, Alan McAvinney*, Tia Newhall
Proceedings of the International Conference on
Parallel and Distributed Computing and Networks (PDCN), 2008
(paper.pdf)
- "Using Image Processing Projects to Teach CS1 Topics",
Richard Wicentowski and Tia Newhall
Proceedings of 35th ACM Technical Symposium on Computer
Science Education (SIGCSE), February 2005. (paper.pdf,
Project Webpage w/instructor resources)
-
"Reliability for Network Swapping Systems that Support
Migration of Remotely Swapped Pages",
Tia Newhall, Benjamin Mitchell*, Julian Rosse*
Proceedings of the 16th IASTED International Conference on
Parallel and Distributed Computing and Systems, November 2004
- "Nswap: A Network Swapping Module for Linux Clusters".
Tia Newhall, Sean Finney*, Kuzman Ganchev*, Michael Spiegel*
Proceedings of Euro-Par'03 International Conference on
Parallel and Distributed Computing, Klagenfurt, Austria, August 2003.
Lecture Notes in Computer Science, 2790, Springer.
(paper.pdf, talk slides).
- "Using Departmental Surveys to Assess Computing Culture: Quantifying
Gender Differences in the Classroom" .
Lisa Meeden, Tia Newhall, Doug Blank and Deepak Kumar
Proceedings of the 8th Innovation and Technology in Computer
Science Education (ITiCSE) Conference, Thessaloniki Greece, June 2003.
(paper.pdf, talk slides).
- "Efficient Memory Management for SMPs
Running Parallel and Sequential Workloads".
Tia Newhall and Patrick Boe*
Proceedings of the 14th IASTED International Conference on Parallel and
Distributed Computing and Systems, pp. 761-766, November 2002.
- "A Comprehensive Project for CS2: Combining Key Data Structures and
Algorithms into an Integrated Web Browser and Search Engine".
Tia Newhall and Lisa Meeden
Proceedings of the 33rd ACM Technical Symposium on Computer
Education (SIGCSE), Northern Kentucky, February 2002.
(paper.pdf).
(Project Web Page with instructor resources).
- "Performance
Measurement of Dynamically Compiled Java Executions".
Tia Newhall and Barton P. Miller
Concurrency, Practice and Experience, Volume 12, Issue 6, pp. 343-362,
August 2000.
Publisher John Wiley & Sons, Editor Geoffrey Fox.
(compressed postscript, PDF).
- "Performance Measurement of Interpreted, Just-in-Time
Compiled, and Dynamically Compiled Executions".
Tia Newhall
Ph.D. dissertation,
under the supervision of Barton P. Miller, University of Wisconsin 1999.
(paper.pdf).
-
"Performance Measurement of Dynamically Compiled Java Executions".
Tia Newhall and Barton P. Miller
1999 ACM Java Grande Conference, pp. 42-50, Palo Alto, June 1999.
(PDF),
Talk slides: (PDF).
-
"Performance Measurement of Interpreted Programs",
Tia Newhall and Barton P. Miller
Proceedings of Euro-Par'98 International Conference on
Parallel and Distributed Computing, Southampton, UK,
September 1998. David Pritchard and Jeff Reeve (Eds.),
Lecture Notes in Computer Science, 1470, pp. 146-156, Springer-Verlag.
(compressed postscript).
- "The Paradyn Parallel Performance Measurement Tools",
Barton P. Miller, Mark D. Callaghan, Jonathan M. Cargille,
Jeffery K. Hollingsworth, R. Bruce Irvin, Karen L. Karavanic,
Krishna Kunchithapadam, Tia Newhall
IEEE Computer, 28, 11, pp. 37-46, November 1995.
(compressed postscript).
Computer Science Graduate School Resources
- CRA's Computer Science Undergraduate Research with information about CS research and CS graduate school.
- How to Succeed in Graduate School by Marie desJardins, from ACM Crossroads, 2008
- Applying
to Ph.D. Programs in Computer Science by Mor Harchol-Balter at CMU. This is
a very good source of information about what getting a Ph.D. is like, how
to apply to gradschool, the importance of grades, GREs, research experience,
and letters of recommendations, how to write a good personal statement,
how to get good letters of recommendation, how to pick schools to which to
apply (and how to pick a school once accepted), and links to fellowships.
Summer Research Opportunities for Undergraduates
CS Job Searching Resources
Diversity in Computer Science Links