We identified five important and prospective areas of research: Network Systems, Cloud Systems, Embedded Systems, Distributed Systems, High-performance computing. For each area we identified a set of research topics based on the aspects: Sustainability, Scalability, Reliability, Performance, Security, Functionality, that were associated with one of the four classes. The figure in the appendix visualizes this data. Also, for each of five important and prospective areas we generalized the main issues and provided them in this section.
In addition to five important and prospective areas we identified three emerging research areas that are also described in this section.
We see the future world in a form of dynamically generated virtual networks of multiple actors. The actors could be hardware-software systems, people, robots, elements of intellectual infrastructure like cars, smart-cities, IoT device, etc. These actors could have an ability to create on demand pear-to-pear communications and private networks. These networks should be isolated, protected from intrusions, created and destroyed in dynamic. For example, there is no need to include internet infrastructure into communications, if you need to transfer information from a personal assistant to components of a smart house - all data could be transferred pear-to-pear and for this purpose a virtual network with necessary actors will be created. We understand that the amount of data transferred through the internet infrastructure will be increased annually, and local computations, local communications could decrease load on the infrastructure.
From this point of view, we think that the hottest topics in this area will be topics related to creation and managing dynamically created isolated heterogenous virtual networks and, in general, all topics related to managing complexity and scalability of networks.
Liu, Chunhua, et al. “Opportunities and challenges of vehicle-to-home, vehicle-to-vehicle, and vehicle-to-grid technologies.” @liu2013opportunities
Keller, Lorenzo, et al. “SenseCode: Network coding for reliable sensor networks.” @keller2013sensecode
Sustainability, especially in a form of energy efficiency will be an important trend in social life. Technologies should provide abilities to manage energy consumption and Cloud Systems are not exceptions. The current market of cloud computing orders virtual resources like size of the storage, the memory size, CPU performance. We think that the future cloud market will also order energy trade.
From the point of view of Systems Research that means that future systems, cloud systems too, will have ability to measure energy consumption of software and hardware components. That requires development of new frameworks, runtimes and environments, kernels and operating systems. Another important direction of research related to cloud systems is issues related to scalability, protection (fault and security) and redistribution of load. Novell technologies like Intel SGX provide new quality of cloud systems: trusted execution in untrusted environment and this topic will be important too.
Srikantaiah, Shekhar, Aman Kansal, and Feng Zhao. “Energy aware consolidation for cloud computing.” @srikantaiah2008energy
Baumann, Andrew, Marcus Peinado, and Galen Hunt. “Shielding applications from an untrusted cloud with haven.” @baumann2015shielding
Intellectual environment represented in a form of Internet of Things (IoT), smart cities/homes, driver-less automobiles, drones - all of these are examples of future embedded and cyber-physical systems (CPS). In any case any kind of embedded systems and CPS should be protected against intrusions, protected against faults, high performance and low-power.
Tradeoffs between performance and security, performance and energy efficiency will be important topics in systems research in the area of embedded systems and CPS. Also, new infrastructures and environments will require developments of new frameworks and OS, for example new platforms for IoT and smart environments. Development of these frameworks and OS requires resolving of existing issues related to the development of sustainable software and hardware. Also, new technologies of hardware, hardware/software or only software based fault tolerance will be important component of these platforms. Success of these platforms will depend on choosing key-enabling technologies for them, for example, a hardware-based fault tolerant platform with energy efficient software, or maybe a software-based fault tolerant platform with energy efficient hardware, or maybe a holistic approach.
Rajkumar, Ragunathan Raj, et al. “Cyber-physical systems: the next computing revolution.” Proceedings of the 47th Design Automation Conference. ACM, 2010. @rajkumar2010cyber
Han, Jie, and Michael Orshansky. “Approximate computing: An emerging paradigm for energy-efficient design.” @han2013approximate
The future issues related to high-performance systems could be described by one word - “exascale”. ExaFLOPS computing is a one of the great challenges for hardware and software researchers and developers. There are many issues in this area, firstly, related to energy consumption. The current silicon technologies are near the threshold of 8nm, and the amount of energy produced by the electronic component at the moment of its activation is so huge, that now it is not impossible to provide energy to all components of a chip without destruction because of producing heat. This issue called “Dark Silicon”, and co-development of software/hardware architectures to deal with this issue will be an important topic in systems research. A possible way to develop new hardware/software architectures can be use of ideas of self-synchronized circuits and reconfigurable hardware.
Esmaeilzadeh, Hadi, et al. “Dark silicon and the end of multicore scaling.” @esmaeilzadeh2011dark
Kogge, Peter, et al. “Exascale computing study: Technology challenges in achieving exascale systems.” @kogge2008exascale
Distributed systems as an area of scientific discipline “Systems Research”, in contrast with the previous areas, are not presented as an independent product or market, like cloud systems. Meanwhile, distributed systems are an important direction of research. Distributed systems depend on network systems and high performance computing, consequently they have a close set of issues: tradeoffs between performance, fault tolerance, scalability and energy efficiency. Examples of these topics are: development of new high performance consensus protocols, distributed computations, distributed fault tolerant storage, etc.
Persistent systems are one of the emerging areas of systems research. Novell technologies like STT-RAM, PCM-RAM, RRAM, memristors provide new feature of memory - persistency. Current technology which is used to store data in the main memory - DRAM, has a drawback: the ability to store data in a cell of DRAM depends on the size of a cell. If the size of a cell is decreased, it will become more difficult to hold charge. And existing DRAM technologies have minimal size of cells, thus, the scalability of DRAM is not possible anymore. Technologies of persistent memory like STT-RAM do not have such issue and can be more scalable. At the same time, this kind of technologies provides a unique feature of memory: storage of data without an external source of power.
This unique feature provides a great opportunity to reconsider all existing architectures and use cases. The current architectures are based on an idea that there is a slow, but big persistent storage (HDD, SDD), and fast, but small-sized volatile storage (Main memory). With new technologies the main memory becomes persistent and that separation is not necessary anymore.
The systems research in the area of persistent systems will be devoted to the development of a new kind of systems, development of new use cases of persistent memory, for example, how persistent memory can decrease energy consumption or how persistent memory can increase performance of computation.
Self-aware systems are another emerging area of research. The main idea of this approach is to provide ability to systems to change the self structure without a developer. Self-aware or self-healing systems will be an important research topic for about 20 years and more and this area is very young. Meanwhile, there is a Cyber Grand Challenge from DARPA devoted to the development of self-healing network systems.
This area of research will depend heavily on formal methods and machine learning and it requires the development of formal described systems. The formal methods provide ability to describe software and hardware components in a mathematical model, while machine learning is usually used in a situation where environment or behavior of something cannot be formalized. We also think that the technologies of reconfigurable hardware will play an important role in this emerging area of research.
Power-aware systems are the third emerging area of research. This kind of systems is an answer to the importance of energy efficiency. Power-aware systems will be a new kind of systems developed with an idea of management and measurement of energy consumption of all components. Existing systems provide ability to decrease energy consumption like the decreasing clock rate of chip, providing ability to disable functioning of some components of System On Chip, but this, firstly, hardware-based approach, secondly, still not sufficient to decrease energy consumption significantly. The existing systems are not aware of energy consumption and are more optimized to performance or security. But future systems should have ability to prevent energy consuming, provide ability to low-power computations and communication.
This area of research will depend heavily on formal methods and hardware-software co-developments. The power models, program models, hardware models are required to assess energy consumption of components