John M. Calandrino
University
of North Carolina at Chapel Hill
Department
of Computer Science
Campus
Box 3175, Sitterson Hall
Chapel
Hill, NC 27599-3175
(919)
962-1854 [office]
(919)
357-4251 [cell]
E-mail:
jmc at cs.unc.edu
Webpage:
http://www.cs.unc.edu/~jmc
RESEARCH INTERESTS:
Real-time scheduling on
chip multiprocessor (CMP/multicore) architectures; implementing real-time
scheduling policies in general-purpose operating systems (e.g., Linux);
practical comparison of real-time scheduling policies; resource-aware real-time
scheduling algorithms; real-time operating systems; impact of CMP architectures
on existing systems and theory research; resource allocation and scheduling
issues involving new or novel architectures; architectural and systems-level
modifications that alleviate resource allocation or scheduling issues;
interdisciplinary applications of Computer Science research.
EDUCATION:
Ph.D. candidate in
Computer Science (Fall 2004 - Present)
University of North
Carolina at Chapel Hill - Chapel Hill, NC
Dissertation proposal
approved in Fall 2006, ABD as of Fall 2007.
Thesis Topic: Soft
Real-Time Scheduling on Multicore Platforms
Thesis Advisor:
James H. Anderson
Expected Graduation:
Summer 2009.
M.S. in Computer
Science (Fall 2002 - Spring 2004)
Cornell University -
Ithaca, NY
Worked in teaching
assistantships my first year and research assistantships my second year.
Research Topic: A Fair
P2P Multicast Algorithm for Overlay Networks
Research Advisor:
Paul Francis
B.S. in Computer
Science (Fall 1998 - Spring 2002)
University of Virginia
- Charlottesville, VA
Wrote thesis during my
fourth year, which won an interdisciplinary research award.
Thesis Title:
Packets, Routers, and Automobiles: What Can Data Networks Teach Us About
Traffic Congestion?
Thesis Advisor:
David Evans
Graduated with Highest
Distinction (GPA > 3.8)
PUBLICATIONS:
Refereed Papers:
J. Calandrino and J. Anderson, ÒCache-Aware Real-Time Scheduling
on Multicore Platforms: Heuristics and a Case StudyÓ, Proceedings of the
20th Euromicro Conference on Real-Time Systems, to appear, July 2008.
B. Brandenburg, J.
Calandrino, and J. Anderson, ÒOn the
Scalability of Real-Time Scheduling Algorithms on Multicore Platforms: A Case
StudyÓ, in submission.
J. Calandrino, N. Priyantha, J. Liu, and F. Zhao, ÒEnergy-Delay
Tradeoffs in Soft Real-Time SystemsÓ, in submission.
J. Calandrino, D. Baumberger, T. Li, J. Young, and S. Hahn,
"LinSched: The Linux Scheduler Simulator", in submission.
B. Brandenburg, J.
Calandrino, A. Block, H. Leontyev,
and J. Anderson, ÒReal-Time Synchronization on Multiprocessors: To Block or Not
to Block, To Suspend or Spin?Ó, Proceedings of the 14th IEEE Real-Time and
Embedded Technology and Applications Symposium, April 2008.
B. Brandenburg, A. Block, J.
Calandrino, U. Devi, H. Leontyev,
and J. Anderson. ÒLITMUSRT: A status reportÓ, Proceedings of the 9th
Real-Time Workshop. Real-Time Linux
Foundation, November 2007.
J. Calandrino, J. Anderson, and D. Baumberger, "A Hybrid
Real-Time Scheduling Approach for Large-Scale Multicore Platforms", Proceedings
of the 19th Euromicro Conference on Real-Time Systems, pp. 247-256. IEEE, July 2007.
J. Calandrino, D. Baumberger, T. Li, S. Hahn, and J. Anderson,
"Soft Real-Time Scheduling on Performance Asymmetric Multicore
Platforms", Proceedings of the 13th IEEE Real-Time and Embedded
Technology and Applications Symposium,
pp. 101-110. IEEE, April 2007.
J. Calandrino, H. Leontyev, A. Block, U. Devi, and J. Anderson,
"LITMUSRT: A Testbed for Empirically Comparing Real-Time
Multiprocessor Schedulers", Proceedings of the 27th IEEE Real-time
Systems Symposium, pp. 111-123.
IEEE, December 2006.
J. Anderson and J.
Calandrino, "Parallel Real-Time
Task Scheduling on Multicore Platforms", Proceedings of the 27th IEEE
Real-time Systems Symposium, pp.
89-100. IEEE, December 2006.
J. Calandrino and J. Anderson, "Quantum Support for
Multiprocessor Pfair Scheduling in Linux", Proceedings of the Second
International Workshop on Operating Systems Platforms for Embedded Real-Time
Applications, pp. 36-41, July 2006.
J. Anderson, J.
Calandrino, and U. Devi.
"Real-Time Scheduling on Multicore Platforms", Proceedings of the
12th IEEE Real-Time and Embedded Technology and Applications Symposium, pp. 179-190. IEEE, April 2006.
V. Venkataraman, P.
Francis, and J. Calandrino.
"ChunkySpread: Multi-tree Unstructured Peer-to-Peer Multicast", Proceedings
of the 5th International Workshop on Peer-to-Peer Systems, February 2006.
J. Anderson and J.
Calandrino. "Parallel Task
Scheduling on Multicore Platforms", ACM SigBED Review. ACM, January 2006.
J. Anderson and J.
Calandrino. "Parallel Task
Scheduling on Multicore Platforms", Work-in-progress Proceedings of the
26th IEEE Real-time Systems Symposium.
IEEE, December 2005.
Technical Reports:
J. Anderson, J.
Calandrino, and U. Devi.
"Real-Time Scheduling on Multicore Platforms (Full Version)",
http://www.cs.unc.edu/~anderson/papers.html, October 2005.
J. Calandrino.
"Packets, Routers, and Automobiles: What Can Data Networks Teach Us
About Traffic Congestion?", Science and Engineering Library call number CS 200211 (4th year thesis), University of Virginia, April 2002.
TALKS:
"Energy-Aware Soft
Real-Time Scheduling on Multiple Radios", summer internship project talk,
Microsoft Research, Redmond, WA, August 2007.
"A Hybrid Real-Time Scheduling
Approach for Large-Scale Multicore Platforms", 19th Euromicro Conference
on Real-Time Systems, Pisa, Italy, July 2007.
Introductory and midterm
internship project talks, Microsoft Research, Redmond, WA, June and July 2007.
"Soft Real-Time Scheduling
on Performance Asymmetric Multicore Platforms", 13th IEEE Real-Time and
Embedded Technology and Applications Symposium, Bellevue, WA, April 2007.
"Real-Time Computing
on Multicore Platforms II", invited talk with James Anderson, Intel
Corporation, Hillsboro, OR, April 2007.
"LITMUSRT: A Testbed for Empirically Comparing Real-Time
Multiprocessor Schedulers", 27th IEEE Real-time Systems Symposium, Rio de
Janeiro, Brazil, December 2006.
"Soft Real-Time Scheduling
on Performance Asymmetric Platforms", summer internship project talk,
Intel Corporation, Hillsboro, OR, August 2006.
"Quantum Support for
Multiprocessor Pfair Scheduling in Linux", Second International Workshop
on Operating Systems Platforms for Embedded Real-Time Applications, Dresden,
Germany, July 2006.
"Real-Time Scheduling
on Multicore Platforms", invited talk, University of California at Santa
Cruz, Santa Cruz, CA, June 2006.
"Real-Time Scheduling
on Multicore Platforms", 12th IEEE Real-Time and Embedded Technology and
Applications Symposium, San Jose, CA, April 2006.
"Parallel Task
Scheduling on Multicore Platforms", Work-in-progress session talk, 26th
IEEE Real-time Systems Symposium, Miami, FL, December 2005.
"Real-Time Scheduling
on Multicore Platforms", Department Systems Tea, University of North
Carolina at Chapel Hill, Chapel Hill, NC, September 2005.
INDUSTRY EXPERIENCE:
Graduate Research
Intern (Summer 2007)
Microsoft Research -
Redmond, WA
Manager: Feng
Zhao
Performed research related
to the energy-aware real-time scheduling of tasks on multiple radios. A paper
on this work is in submission.
Graduate Research
Intern (Summer 2006)
Intel Corporation -
Hillsboro, OR
Manager: Scott
Hahn
Performed research on soft
real-time scheduling on a performance asymmetric multicore platform alongside a
non-real-time workload. Support
was added to both a simulated version of the Linux scheduler and the kernel
itself. This work was submitted
and accepted to appear in the RTAS 2007 proceedings in April 2007. This
work also resulted in additional collaborations with the same research group at
Intel, including a paper submission on large-scale multicore platforms, which
was accepted to appear in the ECRTS 2007 proceedings in July 2007, and a paper
on a Linux scheduler simulator, in submission.
Research and
Development Intern (Summer 2001)
Computer Associates -
Islandia, NY
Created tools (stand-alone
executables and modules for WinDbg) used to test and debug several versions of
CA InoculateIT software on multiple platforms, including Windows 98/2000 and
beta versions of Windows XP (then codenamed Whistler). Performed tests on
clustered mail servers running Microsoft Exchange and CA InoculateIT
(anti-virus software).
RESEARCH EXPERIENCE:
Research Assistant
(Fall 2004 - Present)
University of North
Carolina at Chapel Hill - Chapel Hill, NC
Exploring issues related
to the most effective use of shared caches in chip multiprocessor (CMP)
architectures in real-time systems. Most notably, methods for encouraging and
discouraging the co-scheduling of groups of tasks have been developed. These
methods were evaluated in simulation and shown to improve shared cache
performance and overall system performance. Current work includes:
Also led a project to
provide soft real-time support in Linux by including support for a variety of
multiprocessor real-time scheduling algorithms. Goals were to determine how partitioned and global
scheduling approaches compare when real overheads, empirically determined, are
considered, and to provide a test bed for further research. This work allowed
us to conclude that scenarios exist for which each algorithm is a viable
choice. The test bed continues to evolve, and a version has been publicly
released. It will continue to be used as part of my research and other future
work.
Research Assistant
(Fall 2003 - Spring 2004)
Cornell University -
Ithaca, NY
Worked on the ChunkySpread
project with Paul Francis. ChunkySpread is a P2P multicast algorithm that
attempts to fairly distribute the workload of multicasting a data stream among
nodes in an overlay network.
TEACHING EXPERIENCE:
Instructor (Fall 2007)
COMP 116:
Introduction to Scientific Programming
University of North
Carolina at Chapel Hill - Chapel Hill, NC
á
Low-level introductory
course to computer programming with approximately 25 students.
á
Teaching duties
included lectures twice a week (2.5 hours total) and a weekly recitation (1.25
hours total).
á
Held regular weekly
office hours, and additional hours by appointment.
á
Designed and graded
quizzes, assignments, and exams for the course, and determined final course
grades.
á
Also served as a Graduate
Research Consultant (GRC) for both
sections of the course (approximately 100 students total). Duties included
organizing research projects for undergraduate (and graduate) students in the
class, and finding realistic problems and data to use as the basis for
assignments and course projects. Assignments included real-world data from many
sources, such as data from an ongoing experiment in an area of the Marine Sciences.
á
One goal for a future
course would be to offer a version that is tailored to graduate (and
undergraduate) students in the sciences who want to use the tool for data
processing.
á
A course on
college-level teaching was taken in Spring 2007 in preparation for teaching
COMP 116.
Teaching Assistant
(Spring 2003)
COM S 100M:
Introduction to Computer Programming
Cornell University -
Ithaca, NY
á
Large (200+ students)
low-level introductory course to computer programming.
á
Designed and taught
weekly supplementary course sections for groups of 30+ students.
á
Worked with students to
review their design specifications and code.
á
Held regular weekly
office hours, and additional hours by appointment.
á
Jointly held several
exam review sessions.
á
Graded a portion of all
assignments and exams (via large-scale grading sessions).
á
Participated in the
design of assignments and exams, and took primary responsibility of design,
proctoring, and grading the third midterm exam.
Teaching Assistant
(Fall 2002)
COM S 513: System
Security
Cornell University -
Ithaca, NY
á
Advanced security
course of about 40-50 students.
á
Worked with students to
review their design specifications and code.
á
Held regular weekly
office hours, and additional hours by appointment.
á
Jointly held several assignment
"Q & A" sessions.
á
Graded a portion of all
assignments, most involving a course project to design a secure electronic
voting system.
PROFESSIONAL SERVICE:
á
Member of the Program
Committee of the 2nd Junior Researcher Workshop on Real-Time Computing, held in
conjunction with the 16th International Conference on Real-Time and Network
Systems (RTNS 2008).
á
Served as a reviewer or
external reviewer for the following conferences and journals:
o The 29th IEEE
Real-Time Systems Symposium (RTSS 2008).
o The 14th IEEE
Real-Time and Embedded Technology and Applications Symposium (RTAS 2008).
o The 28th IEEE
Real-Time Systems Symposium (RTSS 2007).
o The 27th IEEE
Real-Time Systems Symposium (RTSS 2006).
o IEEE Journal on Selected Areas in Communications
(JSAC), Special Issue on Game Theory in Communication Systems.
o The 11th
International Conference on Principles of Distributed Systems (OPODIS 2007).
o International Conference on Distributed Computing
Systems (ICDCS) 2007.
o Transactions on Embedded Computing Systems (TECS).
o International Workshop of Distributed Computing
(IWDC) 2005.
o Principles of Distributed Computing (PODC) 2005.
á
Provided a
recommendation letter for a prior student in my COMP 116 course.
á
Real-Time Lunch
"Czar", 2005-2006. Real-Time Lunch is a weekly research group meeting
usually involving a research-related talk.
HONORS AND AWARDS:
á
UNC Dissertation
Completion Fellowship Award Recipient, Fall 2008 and Spring 2009.
á
Microsoft Research
Fellowship Finalist, Fall 2007.
á
UNC Travel Award to
attend conference, Summer 2006.
á
Louis T. Rader Award
from UVA Department of Computer
Science for interdisciplinary research efforts (4th
year thesis), Spring 2002.
á
Dean's List seven of eight semesters at University of Virginia,
contributing both to graduating with Highest Distinction, and receiving a Certificate
of Intermediate Honors from the
University of Virginia in Fall 2000.
á
Inducted into the Golden
Key National Honor Society, Fall
2000.
á
Inducted into The
National Society of Collegiate Scholars, Fall 1999.
REFERENCES:
James Anderson,
Professor
Department of Computer
Science, University of North Carolina at Chapel Hill
Phone: (919) 962-1757
E-mail: anderson at cs.unc.edu
Sanjoy Baruah,
Professor
Department of Computer
Science, University of North Carolina at Chapel Hill
Phone: (919) 962-1803
E-mail: baruah at cs.unc.edu
Kevin Jeffay, Professor
Department of Computer
Science, University of North Carolina at Chapel Hill
Phone: (919) 962-1938
E-mail: jeffay at cs.unc.edu