Tag Archive: Research Highlight

Mary_HallMary_Hall

New Approaches to Producing High-Performance Code, Thanks to Compiler Technology


What does it take to produce application code that performs as close as possible to a parallel architecture’s compute or memory peak performance? This question is one that programmers of high-performance architectures contemplate regularly since using such systems efficiently can solve problems faster, or solve larger or more complex problems. 

This question fundamentally changes the approach to programming. 

Programming is no longer simply about the correct specification of an algorithm, but expands to understanding and exploiting features of the target architecture in all aspects of an application: algorithm choice, data structures and data layout, where to exploit parallelism, how to make the best use of the memory hierarchy, and how to avoid costly communication and synchronization between cooperating computations. Building applications while addressing performance and scalability concerns is difficult and frequently leads to low-level software that exposes architectural details.

Photo of Susan DavidsonPhoto of Susan Davidson

CRA Board Member Highlight: IEEE Honors Susan Davidson With TCDE Impact Award


This year, CRA Board Chair Susan Davidson received the IEEE TCDE Impact Award for “expanding the reach of data engineering within scientific disciplines.” In this interview, Davidson reveals how her interest in bioinformatics came about and how her career led to this award. Two of her favorite problems have been data integration and data provenance.

H.V. JagadishH.V. Jagadish

CRA Board Member Highlight: H. V. Jagadish


I study how data and people interact. For more than a decade, I have been studying how to help humans access and manage information. While there is a lot of good work on human-computer interaction and on data visualization, much less work exists on “human-data interaction.” Why can anyone use Google to get information of interest while it is so difficult to get useful information from a structured database? The difference lies in the specificity of the request. A web search engine receives your request and tries to guess your intention. You know that it has a limited understanding of your need, and are happy to have it get you into “the zone,” from where you can explore for yourself. On the other hand, a traditional database query engine can give you complete answers to complex questions but requires that you precisely specify your query. If you make a small mistake, you are out of luck. Wouldn’t it be helpful to devise database query mechanisms that you can actually use and get reasonable results from even if you don’t ask it totally correctly? Complementarily, can the system help you ask a better question in the first place? Similar concerns also apply to the creation of a database, and helping users manage their data.

Research Highlight: CRA Board Member Margaret Martonosi


What do multiprocessors, zebras, and qubits have in common? The field of computer architecture sits at the hardware-software interface, and computer architects play the role of mediating between technology trends emanating “from below” and application trends influencing the field “from above.” Over the 30 years since I began graduate school, my computer architecture research has explored many topics, but the ongoing theme has been attention to how technology and application trends and constraints influence hardware and system design, particularly at the hardware-software interface.

Seltzer_margoSeltzer_margo

Research Highlight: CRA Board Member Margo Seltzer


“What are computer users doing that is wasting their time?” This question guides my research. I construe computer systems research quite broadly; if I can build it, it’s a systems problem. This breadth has let me pursue questions in visualization as well as operating systems; machine learning and computer architecture; file systems, performance analysis, graph processing, databases, and numerous other areas. Some people might say I have a short attention span; I just like to claim that I have broad interests!

Sarita AdveSarita Adve

Research Highlight: CRA Board Member Sarita Adve


As we approach the end of Moore’s law, the hardware-software interface is evolving with profound implications for how easily we can use our systems and how well they perform. My research is at this interface. Although my “home” community is computer architecture, my work necessarily spans the system stack, and has included hardware design, programming language semantics, parallel algorithms for emerging applications, cross-layer system energy and resiliency management, and approximate computing.

hambruschhambrusch

Research Highlight: CRA Board Member Susanne Hambrusch


The main focus of my recent research has been computer science education and the role computer science can play in defining and advancing its own education research. Learning computational principles and learning to code is hard, and teaching these subjects is even harder. For most computer science topics, we know very little about how different learners’ best learn; how to effectively teach the material to audiences with different abilities, backgrounds, and goals; and how to reliably assess learning.

Mary CzerwinskiMary Czerwinski

Research Highlight: CRA Board Member Mary Czerwinski


My research revolves around tracking and understanding users’ emotional states and leveraging that information as additional context for the design of emotionally sentient systems. Some of the systems we have built have been designed for a user’s own personal reflection. Our first application, AffectAura, provided users with their own behavior patterns over time, such as what they were doing, where they were, who they were with and how they felt. This information could be used to make personal decisions about behavior change—if certain activities usually result in your feeling good or bad, perhaps you want to increase or decrease those behaviors.

Dan GrossmanDan Grossman

Research Highlight: CRA Board Member Dan Grossman


Since I started graduate school in 1997, I have considered myself a member of the programming languages research community — and I continue to attend and publish in the annual conferences of this vibrant computing subfield. But over the last 5-10 years, I have also found myself increasingly passionate about opportunities for computing researchers to focus on ways to influence computing education beyond, for those of us who are academics, our own classrooms and independent studies. Let me share some of the projects I have enjoyed (seriously!) and others I wish I had more time to pursue.

brent-hailpernbrent-hailpern

Research Highlight: CRA Board Member Brent Hailpern


My research is concerned with understanding and facilitating the lifecycle of cognitive software, which is substantially different than that of conventional software. This difference has profound implications for the methodology and tools required to build such software. Cognitive software includes at least one “cognitive” or “intelligent” component, such as a component implemented using machine learning, neural networks, or rules. Often multiple cognitive components will be involved in a cognitive application or service, but even just one is enough to impart special and challenging complications.