
Amazon Co UK Ltd
Amazon Co UK Ltd
2 Projects, page 1 of 1
assignment_turned_in Project2013 - 2020Partners:Amazon Co UK Ltd, Cognizant Technology Solutions, University of California, San Diego, Amazon.co.uk Ltd, VMware Inc +7 partnersAmazon Co UK Ltd,Cognizant Technology Solutions,University of California, San Diego,Amazon.co.uk Ltd,VMware Inc,Red Hats Labs,University of California, San Diego,Cognizant Technology Solutions,VMware,Red Hats Labs,University of California, San Diego,University of EdinburghFunder: UK Research and Innovation Project Code: EP/K034413/1Funder Contribution: 3,956,090 GBPWe aim to solve computing's most pressing problem - concurrency and distribution - by adapting one of computing's most successful concepts - the data type. Data types codify the structure of data; session types codify the structure of communication. Session types will enable a revolution in the development of concurrent and distributed software, making it cheaper to construct and maintain, and more reliable. Concurrency and distribution are computing's most pressing problem: unless we discover a way to routinely and reliably build concurrent and distributed systems, a half century of unprecedented technical progress will draw to a close. We are approaching the 50th anniversary of Moore's Law, the observation that component counts and clock speeds double every 18 months. No exponential improvement can continue forever, and recently this rule has changed: clock speeds now remain fixed while the number of processors doubles, so exploitation of concurrency is essential. Meanwhile, everyone now has a computer in their pocket, and these computers depend crucially on communication to achieve their function. We inhabit a world of web applications, cloud services, and mobile apps: society increasingly depends on a technological infrastructure of concurrent and distributed systems. Programming concurrent and distributed systems is notoriously difficult. Many solutions are based on shared memory, which requires the programmer to reason about every possible interleaving by which many processors access a common resource. Shared memory scales only to a certain point; it is not appropriate for programming the server farms that drive the web or for mobile applications. The most successful solutions so far appear to be those that replace shared memory with communication as the central structuring technique. Communication usually centres around the notion of a protocol, a series of operations in a specific order. However, direct support for protocols at the language level has been lacking, as compared with data types. The data type is one of computing's most successful concepts. Data types appear from the oldest programming language to the newest, and cover concepts ranging from a single byte to organised tables containing information on customers and orders. Types act as the fundamental unit of compositionality: the first thing a programmer writes or reads about each method is its data type, and type discipline guarantees that each call of a method matches its definition. Data types play a central role in all aspects of software, from architectural design to interactive development environments to efficient compilation. The analogue of the data type for concurrency and distribution is the session type. A session type codifies the notion of a protocol. Session types build on data types, as data types specify the lowest level of data exchange, upon which more complex protocols are built. Just as type discipline matches use and definition of a method, so session types ensure consistency between the two ends of a communication. We expect session types to play a role in all aspects of software. Today, architects discuss the high-level structure of a system in terms of its types, but must resort to informal notions of protocol to describe communication; in future, they will describe communication in terms of session types. Today, programmers use tools that let them search for methods and modules based on their type, and give immediate feedback if their program violates type discipline, but must resort to informal notions of protocol when coding communications; in future, they will search for components based on their session type, and get immediate feedback if their program violates session type discipline. Today, software tools exploit types to optimise code, but cannot exploit the informal notions of protocol to optimise communication; in future, communication middleware will exploit session types to support efficient messaging.
more_vert assignment_turned_in Project2018 - 2024Partners:Lancaster University, VTT Technical Research Centre of Finland, Private Address, Heriot-Watt University, ORNL +37 partnersLancaster University,VTT Technical Research Centre of Finland,Private Address,Heriot-Watt University,ORNL,University of Warwick,VTT Technical Research Centre of Finland,UO,Oak Ridge National Laboratory,Complutense University of Madrid,Amadeus Capital Partners Limited,Washington University in St Louis,University of Maryland,University of Waterloo (Canada),Max-Planck-Gymnasium,MV Portfolios Inc,Vienne University of Technology,Lancaster University,Graphcore,Max Planck Institutes,University of Cambridge,TUW,Amadeus Capital Partners Limited,Amazon Co UK Ltd,VTT ,Graphcore,Amazon.co.uk Ltd,MV Portfolios Inc,Oxford Nanopore Technologies (United Kingdom),Cambridge Integrated Knowledge Centre,Oxford Nanopore Technologies,University of Warwick,UMCP,Heriot-Watt University,University of Perugia,University of Oxford,Private Address,UNIVERSITY OF CAMBRIDGE,University of Waterloo (Canada),WSU,TU Wien,University of OregonFunder: UK Research and Innovation Project Code: EP/R029229/1Funder Contribution: 1,530,590 GBPAs we gain ever-greater control of materials on a very small scale, so a new world of possibilities opens up to be studied for their scientific interest and harnessed for their technological benefits. In science and technology nano often denotes tiny things, with dimensions measured in billionths of metres. At this scale structures have to be understood in terms of the positions of individual atoms and the chemical bonds between them. The flow of electricity can behave like waves, with the effects adding or subtracting like ripples on the surface of a pond into which two stones have been dropped a small distance apart. Electrons can behave like tiny magnets, and could provide very accurate timekeeping in a smartphone. Carbon nanotubes can vibrate like guitar strings, and just as the pitch of a note can be changed by a finger, so they can be sensitive to the touch of a single molecule. In all these effects, we need to understand how the function on the nanoscale relates to the structure on the nanoscale. This requires a comprehensive combination of scientific skills and methods. First, we have to be able to make the materials which we shall use. This is the realm of chemistry, but it also involves growth of new carbon materials such as graphene and single-walled carbon nanotubes. Second, we need to fabricate the tiny devices which we shall measure. Most commonly we use a beam of electrons to pattern the structures which we need, though there are plenty of other methods which we use as well. Third, we need to see what we have made, and know whether it corresponds to what we intended. For this we again use beams of electrons, but now in microscopes that can image how individual atoms are arranged. Fourth, we need to measure how what we have made functions, for example how electricity flows through it or how it can be made to vibrate. A significant new development in our laboratory is the use of machine learning for choosing what to measure next. We have set ourselves the goal that within five years the machine will decide what the next experiment should be to the standard of a second-year graduate student. The Platform Grant renewal 'From Nanoscale Structure to Nanoscale Function' will provide underpinning support for a remarkable team of researchers who bring together exactly the skills set which is needed for this kind of research. It builds on the success of the current Platform Grant 'Molecular Quantum Devices'. This grant has given crucial support to the team and to the development of their careers. The combination of skills, and the commitment to working towards shared goals, has empowered the team to make progress which would not have been possible otherwise. For example, our team's broad range of complementary skills were vital in allowing us to develop a method, now patented, for making nanogaps in graphene. This led to reproducible and stable methods of making molecular quantum devices, the core subject of that grant. The renewal of the Platform Grant will underpin other topics that also build on achievements of the current grant, and which require a similar set of skills to determine how function on the nanoscale depends on structure on the nanoscale. You can get a flavour of the research to be undertaken by the questions which motivate the researchers to be supported by the grant. Here is a selection. Can we extend quantum control to bigger things? Can molecular scale magnets be controlled by a current? How do molecules conduct electricity? How can we pass information between light and microwaves? How can we measure a thousand quantum devices in a single experiment? Are the atoms in our devices where we want them? Can computers decide what to measure next? As we make progress in questions like these, so we shall better understand how structure on the nanoscale gives rise to function on the nanoscale. And that understanding will in turn provide the basis for new discoveries and new technologies.
more_vert