# Area Exam

## Dynamic Adaptation Techniques and Opportunities to Improve HPC Runtimes

Exascale, a new era of computing, is knocking at the door. Leaving the days of high frequency, single-core processors behind, the new paradigm of multi-core/many-core processors in complex heterogeneous systems has come to dominate.

## Utilizing Text Structure for Information Extraction

Information Extraction (IE) is one of the important fields of natural language processing (NLP) with the primary goal of creating structured knowledge from unstructured text. In more than two decades, IE has gained a lot of attention and many new tasks and models have been proposed. Moreover, with the proliferation of deep learning and neural nets in recent years, the advanced deep models have brought about a surge in the performance of IE models.

## Layered Network Protocols for Secure Communications in the Internet of Things

As the Internet of Things (IoT) continues to penetrate into our lives, security becomes a crucial issue for IoT devices to communicate with each other. Many standardized network protocols and cryptographic protocols have been proposed recently for IoT to secure their communication. However, due to the heterogeneous nature and the constraint resource in IoT, many IoT devices failed to protect their communication with the existing standardized protocols. To this end, in this work, we explore the area of secure communication in IoT environment.

## Deriving Practical Implementations of First-class Functions

I explore the ways in which a practical implementation is derived from Church's calculus of $\lambda$-conversion, i.e. the core of functional programming languages today like Haskell, Ocaml, Racket, and even Javascript. Despite the implementations being based on the calculus, the languages and their semantics that are used in compilers today vary greatly from their original inspiration. I show how incremental changes to Church's semantics yield the intermediate theories of explicit substitutions, operational semantics, abstract machines, and compilation through intermediate languages, e.g.

## Online Monitoring, Analysis, and Feedback for High-Performance Computing Systems

In this work we explore the area of online monitoring, analysis, and feedback systems in high-performance computing. This area of research is increasingly important as software and machines grow in scale and architectural complexity. We begin by outlining the terms of the art and scope of the area being considered. We provide a high-level overview of online monitoring, analysis, and feedback within the context of high-performance computing. Significant features of each subtopic are discussed, as well as the reasoning behind the integration of these topics into a holistic area of research.

## Evolution of Programming Approaches for High-Performance Heterogeneous Systems

Nearly all contemporary high-performance systems rely on heterogeneous computation. As a result, scientific application developers are increasingly pushed to explore heterogeneous programming approaches. In this project, we discuss the long history of heterogeneous computing and analyze the evolution of heterogeneous programming approaches, from distributed systems to grid computing to accelerator-based supercomputers.

## Reconfigurable Optical Networks: Theory, Practice, and Applications

Reconfigurable optical networks have emerged as a promising technology to serve the fast-growing traffic produced by the digital society. This area exam considers reconfigurable optical networks and their interface to higher layers of the network stack. To this end, we explore the challenges of implementing a vertically programmable network.

## A Top Down Approach to Network Protocol Security in the Internet of Things

As the Internet of Things (IoT) continues to pervade every aspect of our lives, IoT application designers and researchers must leverage a new suite of standardized network protocols specifically tailored for IoT. In particular, because IoT environments exhibit new network characteristics, such as lossy links and low capability end-hosts, network protocols designed for traditional wired networks become insufficient in IoT.

## General-Purpose Performance Portable Programming Models for Productive Exascale Computing

Modern supercomputer architectures have grown increasingly complex and diverse since the end of Moore's law in the mid-2000s, and are far more difficult to program than their earlier counterparts. While HPC programming models have improved such that applications are now generally portable between architectures, their performance can still vary wildly, and developers now need to spend a great deal of time tuning or even rewriting their applications for each new machine to get the performance they need.

## Exit Through the Training Data: A Look into Instance-Attribution Explanations and Efficient Data Deletion in Machine Learning

The widespread use of machine learning, coupled with large datasets and increasingly complex models have exposed a general lack of understanding for how individual predictions are made. It is perhaps unsurprising then that explainable AI (XAI) has become a very popular research topic over the past several years.