The research is mainly about designing efficient distributed computing systems. One aspect is mostly at the “macro” level and involves how to best support distributed computations across heterogeneous platforms with a focus on real-time computations. Edge/fog computing fall in that category where the goal is the joint optimization of compute and network resources under latency constraints. Another aspect is more at the “micro” level with a focus on resources allocation on multi-core systems shared by competing applications with the goal of allocating resources (cores, cache ways, interconnect and memory bandwidth, etc.) to optimize various objective functions, e.g., weighted IPC.