Research


Current Research Interests


Effectiveness of Visual Notations to Enhance Comprehension of Object-Oriented Concepts by Novice Programmers (2002-onward)

Achieving a deep understanding of the semantics of object-oriented operations in an object-oriented programming language is difficult for many novice programmers. Visual notation that describes at a detailed level each change in memory due to each object-oriented operation offers a supplementary modality to the program code. Perhaps requiring the novice programmer to describe the object-oriented semantics of a small code fragment using such a visual notation will help the programmer to develop a better understanding of the effects of each statement within the program fragment. We are investigating the effectiveness of requiring such a supplementary description by the programmer. We are also investigating the effectiveness of the instructor using such a supplementay description during lectures and discussions. This is currently joint work with Bill Kreahling.


Effectiveness of Problem-Based Instruction in the Domain of Computer Generated Visual Media (2007-onward).

We are investigating an alternative approach to teaching computer science that emphasizes the domain of computer generated visual media and uses the technique of problem-based instruction. This is joint work with Bill Kreahling, faculty at Clemson University, and faculty at UNC-Wilmington.


Former Research Interests


Analytic Stochastic Modeling Techniques Based on Automated State Space Construction (1984-1987).

We developed a visual modeling notation related to queuing networks which implies a stochastic process. The nature of that stochastic process is, in general, complex. However, it has an embedded discrete time markov chain with associated rewards. We developed how the state space of this process can be constructed from the high-level model and how the rewards associated with the state space can be associated with metrics of interest of the high-level model. We demonstrated the feasibility of our theoretical findings by implementing a tool incorporating those ideas and using the tool to provide analytical, time-efficient solutions to interesting problems in computer system design and performance.


Performance Modeling and Evaluation of Shared Memory Multiprocessors (1985-1995).

We evaluated the performance of a number of features of shared memory multiprocessors including cache coherency protocols for single shared bus systems, memory and bus interference in systems with multiple buses, page table design, memory management including page migration, many features of shared memory multiprocessors using a hierarchy of rings for the interconnect, and systems with multi-threaded processors. The performance studies were partly analytical (using both state space construction method I developed in my dissertation and using mean value analysis), partly simulation (validated with comparision to measurements on real systems), and partly by measurements on real systems.


Accuracy of Memory Reference Traces of Parallel Computations in Trace-Driven Simulation (1991-1995).

Performance studies of shared memory multiprocessors often use trace-driven simulations where the traces are memory reference traces collected during the execution of a parallel computation in one system configuration and then used in alternative system configurations. Unfortunately, the traces that would be generated when the underlying workload is run on the alternative system configuration may be substantially different from the traces collected. We developed a technique to ensure that the traces can be collected, annotated, and used in such a way to ensure the accuracy of the traces in an alternative system configuration.


Computer Science Education: Ideas for teaching Computer Organization/Architecture, Operating Systems, and Computer Networks (1995-2004).

We developed a number of new approaches to teaching these courses within a computer science curriculum. One approach is to better show the close connection between computer organization and operating systems by having the operating system course emphasize the system call interface and how the operating system and hardware implement that interface using exceptions and processor state. A second approach is to make the synchronization problems used in an operating system course more interesting and more relevant by using synchronization problems that are abstractions of features of operating system kernel design (and of virtual memory management in Berkeley UNIX, in particular). Another approach is to develop a taxonomy and survey of simulators used in teaching the computer organization course. A fourth approach is to develop a series of Java applets to illustrate some key computer networking concepts.


Computer Science Education: Ideas for teaching Grid Computing and Web Services (2003-2008).

We developed materials for teaching grid computing and web services and reported on their use. We tested the materials using a grid of computer clusters distributed across North Carolina that we helped construct and teaching students at multiple sites (the sites of the grid).


Refereed Publications


2008


M.A. Holliday, J. Traynham Houston, and E. Matthew Jones,

"From Sockets and RMI to Web Services",

Proc. of the 36th ACM SIGCSE Technical Symposium (SIGCSE 2008),

Portland, OR, March 2008, pp. 236-240. Paper. Presentation.


2007

R. Tashakkori, B.L. Kurtz, B. Wilkinson, and M.A. Holliday,

A Consortium to Promote Distributed Computing”,

Proc. of the 45th ACM Southeast Conference (ACMSE 2007),

Winston-Salem, NC, March 2007, pp. 336-340. Paper.


2006


M.A. Holliday, W.C. Kreahling,

"Information Security and Computer Systems: An Integrated Approach",

Proc. of the 2006 Information Security Curriculum Development Conference (InfoSecCD 2006),

Kennesaw, GA, September 2006, pp. 58-63. Paper. Presentation (Powerpoint).


M.A. Holliday, B. Wilkinson, and J. Ruff,

"Using an End-to-End Demonstration in an Undergraduate Grid Computing Course",

Proc. of the 44th ACM Southeast Conference (ACMSE 2006),

Melbourne, FL, March 2006, pp. 702-707. Paper. Presentation (Powerpoint).


2005


M.A. Holliday, B. Wilkinson, J. House, S. Daoud, and C. Ferner,

"A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course",

Proc. of the 36th ACM SIGCSE Technical Symposium,

Saint Louis, MO, February, 2005, pp. 206-210. Paper. Presentation (Powerpoint)


2004


M.A. Holliday and D.R. Luginbuhl,

"Peer-Centered Service Learning",

Proc. of the 34th ASEE/IEEE Frontiers In Education 2004 Conf.,

pp. F3E-1-6, Savannah, GA, October 2004. Paper. Presentation (Powerpoint)


M.A. Holliday,

"A Java Applet for Illustrating Internet Error Control",

Mathematics and Computer Education,

Fall 2004, vol. 38, no. 3, pp. 326-332.


M.A. Holliday,

"Animation of Computer Networking Concepts",

ACM Journal of Educational Resources in Computing,

volume 3, issue 2 (June 2003), pp. 1-26 (issue appeared in May 2004). Paper


M.A. Holliday, D.L. Luginbuhl,

"CS1 Assessment Using Memory Diagrams",

Proc. of the 35th ACM SIGCSE Technical Symposium,

pp. 200-204, Norfolk, VA, March 2004. Paper. Presentation (Powerpoint). Memory Diagram Guide


2003


M.A. Holliday, D.L. Luginbuhl,

"Using Memory Diagrams When Teaching a Java-Based CS1",

Proc. of the 41st ACM Southeast Conference,

pp. 376-381, Savannah, GA, March 2003. Paper, Presentation (Powerpoint), Fall 2003 Presentation (Powerpoint)


2002


G.A. Wolffe, W. Yurcik, H. Osborne, M.A. Holliday,

"Teaching Computer Organization/Architecture With Limited Resources Using Simulators",

Proc. of the 33rd ACM SIGCSE Technical Symposium,

Covington, KY, February 2002. Paper


2001


W. Yurcik, G.S. Wolffe, M.A. Holliday,

"A Survey of Simulators Used in Computer Architecture/Organization Courses",

Proc. of the Summer Computer Simulation Conference (SCSC 2001),

pp. 524-529, Orlando, FL, July 2001.


2000


M.A. Holliday,

"A Kernel-Based Synchronization Assignment for the Operating Systems Course",

Proc. of the 5th Annual Conference on Integrating Technology into Computer Science Education (ITiCSE'00),

p. 184, Helsinki, Finland, July 2000 (extended abstract).


1998


M.A. Holliday,

"A Web-Based Introduction to Computer Networks",

Proc. of the 3rd Annual Conference on Integrating Technology into Computer Science

Education (ITiCSE'98),

p. 282, Dublin, Ireland, August 1998

(poster).


1997


M.A. Holliday,

"An Ethernet Java Applet for a Non-Major Course",

Mathematics and Computer Education,

vol. 31, no. 2, Spring 1997, pp. 158-166.


M.A. Holliday,

"System Calls and Interrupt Vectors in an Operating Systems Course",

Proc. of the 28th ACM SIGCSE Technical Symposium,

pp. 53-57, San Jose, CA, February 1997. Paper


1995


G.T. Byrd and M.A. Holliday,

"Multithreaded Processor Architectures",

IEEE Spectrum, vol. 32, no. 8, pp. 38-46, August, 1995.


M.A. Holliday,

"Incremental Game Development in an Introductory Programming Course",

Proc. of the 33rd ACM Southeast Conference,

pp. 170-175, Clemson, SC, March 1995.


M.A. Holliday,

"A Program Behavior Model and Its Evaluation",

Proc. of the Int. Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS'95),

pp. 232-236, Durham, NC, January, 1995.


1994


M.A. Holliday and M. Stumm,

"Performance Evaluation of Hierarchical Ring-Based Shared Memory Multiprocessors",

IEEE Trans. on Computers,

vol. 43, no. 1, pp. 52-67, January 1994.


1993


D. Yen and M. A. Holliday,

"A Tool for the Static Dependency Analysis of Shared Memory Parallel Programs and the Implications

for Trace-Driven Simulation",

Proc. of ICASE/NASA LaRC Workshop on Software Tools and Techniques for Performance and Reliability Estimation,

Hampton, VA, June 1993 (extended abstract).


1992


M.A. Holliday and C.S. Ellis,

"An Example of Correct Global Trace Generation",

Scalable Shared Memory Multiprocessors,

pp. 43-57, edited by M. Dubois and S. Thakker,

Kluwer Academic Publishers, 1992.


R.P. LaRowe Jr., C.S. Ellis, and M.A. Holliday,

"Evaluation of NUMA Memory Management Through Modeling and Measurements",

IEEE Trans. on Parallel and Distributed Systems,

vol. 3, no. 6, pp. 686-701, December 1992.


R.P. LaRowe Jr., M.A. Holliday, and C.S. Ellis,

"An Analysis of Dynamic Page Placement on a NUMA Multiprocessor",

Proc. of the 1992 ACM SIGMETRICS and Performance '92 Int. Conference on Measurement and Modeling of Computer Systems,

pp.23-34, Newport, RI, June 1992.


M.A Holliday and C.S. Ellis,

"Accuracy of Memory Reference Traces of Parallel Computations in Trace-Driven Simulation",

IEEE Trans. on Parallel and Distributed Systems,

vol. 3, no. 1, pp. 97-109, January 1992.


1991


S. Chowdhury and M. A. Holliday,

"Stability and Performance of Alternative Two-level Interconnection Networks",

Proc. of the 1991 Int. Conf. on Parallel Processing,

vol. I, pp. 720-721, St. Charles, IL, August, 1991.


1989


M. A. Holliday,

"Reference History, Page Size, and Migration Daemons in Local/Remote Architectures",

Proc. of Third Int. Conf. on Architectural Support for Programming Languages and Operating Systems

(ASPLOS),

pp. 104-112, Boston, MA, April 1989.


1988


M. A. Holliday,

"Page Table Management in Local/Remote Architectures",

Proc. of 1988 ACM International Conference on Supercomputing,

pp. 1-8, Saint-Malo, France, July 1988.


1987


M. A. Holliday and M. K. Vernon,

"A Generalized Timed Petri Net Model for Performance Analysis",

IEEE Trans. on Software Engineering,

vol. SE-13, no. 12, December 1987, pp. 1297-1310.


M. A. Holliday and M. K. Vernon,

"Exact Performance Estimates for Multiprocessor Memory and Bus Interference",

IEEE Trans. on Computers,

vol. C-36, no. 1, January 1987, pp. 76-85.


1986


M. A. Holliday and M. K. Vernon,

"The GTPN Numerical Analyzer: Numerical Methods and User Interface",

Proc. of ACM-IEEE CS Fall Joint Computer Conference,

pp. 1099-1105, Dallas, TX, November 1986.


M. K. Vernon and M. A. Holliday,

"Performance Analysis of Multiprocessor Cache Consistency Protocols Using Generalized Timed Petri Nets",

Proc. of Performance '86 and ACM SIGMETRICS '86 Joint Conference on Computer Performance Modeling, Measurement and Evaluation,

pp. 9-17, Raleigh, NC, May 1986.


1985


M. A. Holliday and M. K. Vernon,

"A Generalized Timed Petri Net Model for Performance Analysis",

Proc. of the International Workshop on Timed Petri Nets,

pp. 181-190, Torino, Italy, July 1985.


Other Publications


L. Cassel, D. Kumar, K. Bolding, J. Davies, M. Holliday, J. Impagliazzo, M. Pearson, G. S. Wolffe, W. Yurcik,

"Distributed Expertise for Teaching Computer Organization and Architecture",

pp. 111-126, SIGCSE Bulletin, vol. 33, no. 2, June 2001.


J. Bergin, T.L. Naps, C.G. Bland, S.J. Hartley, M.A. Holliday, P.B. Lawhead, J. Lewis, M.F. McNally, C.H. Nevison, C. Ng, G.J. Pothering, T. Terasvirta,

"Java Resources for Computer Science Instruction", pp. 18b-38b,

SIGCSE Bulletin, vol. 30, no. 4, December 1998.


C. Ellis, M. Holliday, R. LaRowe, D. Kotz, V. Khera, S. Owen, C. Connelly,

"NUMAtic Project and the DUnX OS",

IEEE Technical Committee on Operating Systems and Application Environments (Newsletter),

Vol. 5, No. 4, Winter 1991, pp. 12-14.


M. A. Holliday,

"Deterministic Time and Analytical Models of Parallel Architectures",

TR 652, Computer Sciences Department, U. of Wisconsin---Madison, July 1986

(Ph. D. Thesis).