We design state of the art middleware systems to
simplify the design, development and management of complex distributed
applications.
We conduct research on middleware and
distributed systems at the University of Toronto, Canada. Our current
research is mainly focused on publish/subscribe, content-based routing,
and event processing.
We see middleware as the services and abstractions that facilitate
the design, development, integration, and deployment of distributed
applications and systems in heterogeneous networked environments.
Current Projects and Activities: See below for more information about our current research projects and
community activities.
Consensus Algorithms
Some say “consensus is a poor substitute for leadership,” yet, robust distributed systems often require both! Also, even leaderless protocols do emerge with agreement after what may appear to some as a shift from “nope” to “hope” when ballots are cast and conclave terminates.
In this vein, our research on consensus algorithms in distributed systems aims to elicit new avenues to support emerging blockchain and distributed ledger technologies with faster and more sustainable algorithmic building blocks based on provable guarantees and well-understood incentives. Our research aims to design and implement low-latency and high-throughput consensus mechanisms under various failure models, such as benign and Byzantine faults.
Cloud-native Systems
We design innovative systems of the cloud, on the cloud, and for the cloud. In this spirit, we have been developing novel resource allocation schemes for microservice-based applications to further promote elasticity and cost-efficiency of prevalent containerized cloud systems. We embrace both traditional analytical approaches that leverage mathematical optimization and state-of-the-art machine learning techniques like graph neural networks to assist with wiser resource allocation decisions. Furthermore, we are also exploring the possibilities of future cloud-native databases that cater to the needs of the modern data-driven enterprise and effectively leverage the ever-evolving cloud computing models to offer limitless elasticity, unbounded scalability, and flexibility.
Quantum Computing for Data-intensive Processing
The emerging field of quantum information processing is anticipated to revolutionize modern day computing. As no strangers to innovative thinking, we are actively engaged in understanding what quantum computing can bring to the table for our classical areas of research interests such as data management, big data, machine learning, and distributed systems.
To this end, funded by a grant from the Data Sciences Institute at the University of Toronto, we are exploring quantum chemistry applications like a priori molecular property predictions. We have also started to embrace the teaching of quantum computing as a natural extension to our classical undergraduate and graduate courses (e.g., foremost our 3rd year Algorithms and Data Structures course and a forthcoming 4th year Distributed Systems course).
Past Projects and Activities: Check the
links below for more information about our past research projects and
community activities.
PADRES is an event processing platform based
on the content-based publish/subscribe paradigm. Unique to PADRES are
capabilities for historic event query to retrieve past events, composite
subscriptions to correlate events over location and time, and cyclic
routing to increase robustness. PADRES has been successfully applied to
business activity monitoring, business process execution, service
selection, resource discovery, and many other applications. PADRES is
distributed under the liberal EPL 1.0 open-source license.
more >>
The Aspect-oriented C Compiler (ACC) applies
the ideas of aspect-oriented programming to the C programming language
and enables the modularization of code-crosscutting concerns for systems
software. Reported applications of ACC include run-time event and trace
extraction, fault-detection, recording of callstacks in flight-data
recorder, and monitoring of events in Java-JNI-C interfaces of set-top
boxes. ACC is distributed under the GPL open-source license. Code
generated by ACC is not covered by any license and may be freely adopted
in any project.
more
>>
CANOE is the Canadian-Norwegian collaboration
in higher education. Activities include joint research projects, joint
courses and seminars, summer schools, student exchanges, and research
workshops. For example, the International Summer School on Events,
Publish/Subscribe, and Systems in August 2009.
more >>
The DEBS series of conferences revolves
around event processing and event-based systems. MSRG was instrumental
in initiating the DEBS community and stepped up to organize the
Inaugural International DEBS Conference at the University of Toronto.
more >>