Towards Self-Optimizing Frameworks for Collaborative Systems

Two important performance metrics in collaborative systems are local and remote response times. It is possible to meet response time requirements better than existing systems through a new system without requiring hardware, network, or user-interface changes. This self-optimizing system improves response times by automatically making runtime adjustments to three aspects of a collaborative application.

One of these aspects is the collaboration architecture. Previous work has shown that dynamically switching architectures at runtime can improve response times; however, no previous work performs the switch automatically.

The thesis shows that (a) another important performance parameter is whether multicast or unicast is used to transmit commands, and (b) response times can be noticeably better with multicast than with unicast when transmission costs are high. Traditional architectures, however, support only unicast – a computer that processes input commands must also transmit commands to all other computers. To support multicast, a new bi-architecture model of collaborative systems is introduced in which two separate architectures govern the processing and transmission tasks that each computer must perform.

The thesis also shows that another important performance aspect is the order in which a computer performs these tasks. These tasks can be scheduled sequentially or concurrently on a single-core, or in parallel on multiple cores. As the thesis shows, existing single-core policies trade-off noticeable improvements in local (remote) for noticeable degradations in remote (local) response times. A new lazy policy for scheduling these tasks on a single-core is introduced that trades-off an unnoticeable degradation in performance of some users for a much larger noticeable improvement in performance of others. The thesis also shows that on multi-core devices, the tasks should always be scheduled on separate cores.

The self-optimizing system adjusts the processing architecture, communication architecture, and scheduling policy based on response time predictions given by a new analytical model. Both the analytical model and the self-optimizing system are validated through simulations and experiments in practical scenarios.

Speaker Details

I am a graduate student at the University of North Carolina at Chapel Hill working with Professor Prasun Dewan. Prior to UNC, I received a Bachelor of Mathematics (Computer Science) degree from the University of Waterloo.In the past five plus years at UNC, my projects have been driven by the goal of improving computer support for distributed collaboration. In particular, my dissertation focused on improving performance aspects of collaborative systems, creating an analytical model for them and applying it in a new collaborative middleware framework.Although this is the first time I am applying for a full time position at Microsoft, I am not new to Microsoft – I have been an intern six times! In summers of 2003 and 2004, I was a product group intern. The following four summers, I interned with Microsoft Research: in 2005, working with Yong Rui in the CCS group; in 2006 and 2007, working with Zhengyou Zhang also in the CCS group; in 2008, working with Kori Inkpen in the VIBE group. In addition to the internships, I came for a brief contract term in the VIBE group in August 2009 working with Kori once again.Unlike my theory and systems heavy dissertation research, my work with MSR was applications oriented. I designed new user-interfaces for collaborative applications, including multi-user editors, meeting replay systems, and, most recently, telepresence applications, and performed a variety of user-studies to evaluate these interfaces.

Date:
Speakers:
Sasa Junuzovic
Affiliation:
University of North Carolina at Chapel Hill