<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:contributor>Soulé, Robert</dc:contributor>
  <dc:contributor>Pedone, Fernando</dc:contributor>
  <dc:creator>Jepsen, Theo</dc:creator>
  <dc:date>2020-07-22</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">With the end of Moore's law and Dennard scaling, applications no longer enjoy performance improvements by simply waiting for the next generation of CPUs. This  has led to the rise of domain-specific computing. As developers try to squeeze more performance out of applications, they have offloaded application functionality  to specialized hardware, such as GPUs, FPGAs and ASICs. Programming these devices presents a trade-off between generality and performance. Recently there  has been the emergence of new types of specialized hardware for networking. Similarly to other domain-specific computing devices, they are not straightforward to  program and require adapting applications, but provide significant performance improvements. Although these devices were intended for network applications,  they have been used for offloading other types of applications, in what is called in-network computing (INC). INC presents many opportunities to applications  because it provides high-performance computing that is centrally located in the network. However, there are many challenges for leveraging INC. Although INC  devices are programmable, there are some limitations that are not present in general purpose CPUs, including computing expressiveness, resource availability  (e.g., memory) and interfacing to applications. This thesis addresses the challenge of leveraging INC for application-network co-design. Not all applications are  suitable for INC; in some cases, only parts of applications can benefit from INC. The hypothesis is that application performance can be improved by moving some  functionality into reusable INC building blocks. At a high level, this thesis makes the following contributions: it characterizes the types of applications that can  benefit from INC; it describes the building blocks that applications can use to leverage INC; it suggests the right abstractions and level of granularity for INC; it  describes INC data structures and implementation techniques; and, finally, it evaluates INC by implementing five systems for applications from different domains.  Overall, this thesis revisits the separation of concerns between the application and the network, showing that co-design is not only possible, but also beneficial.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://susi.usi.ch/global/documents/319147</dc:identifier>
  <dc:identifier>https://n2t.net/ark:/12658/srd1319147</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/319147/files/2020INFO012.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-118888</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1319147</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:rights>License undefined</dc:rights>
  <dc:subject xmlns:ns1="xml" ns1:lang="en">In-network computing</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Programmable switches</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Software-defined networking</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">Distributed systems</dc:subject>
  <dc:subject xmlns:ns5="xml" ns5:lang="en">String searching</dc:subject>
  <dc:subject xmlns:ns6="xml" ns6:lang="en">Stream processing</dc:subject>
  <dc:subject xmlns:ns7="xml" ns7:lang="en">Optimistic concurrency control</dc:subject>
  <dc:subject xmlns:ns8="xml" ns8:lang="en">Publish/subscribe</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns9="xml" ns9:lang="en">Building blocks for leveraging in-network computing</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
