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