1,720,987 research outputs found
Web Performance Automation for the People
Web performance is important for the user experience and can heavily influence web page revenues. While there are many established Web Performance Optimization (WPO) methods, our work so far has clearly shown that new network protocols, optimized browsers and cutting-edge web standards can have a significant impact on known best practices. Additionally, there is still low-hanging fruit to be exploited, in the form of personalizing performance based on user context (i.e., current device, network, browser) and user preferences (e.g., text reading vs multimedia experience). In our PhD project, we strive to integrate this user-specific metadata into dynamic configurations for both existing and new automated WPO techniques. An intermediate server can (pre)generate optimized versions of a web page, which are then selected based on user context and preferences. Additional metadata is also passed along to the browser, enabling improvements on that side, and used to steer new network protocols to speed up the incremental delivery of page resources. We use the Speeder platform to perform and evaluate full-factorial objective measurements and use subjective user studies across a range of groups to assess the applicability of our methods to end users. Our aim is to provide insights in how WPO can be tweaked for specific users, in the hopes of leading to new web standards that enable this behavior.Robin Marx is a SB PhD fellow at FWO, Research Foundation - Flanders, project number 1S02717N. This PhD project is supervised by Prof. Peter Quax, PhD and Prof. Wim Lamotte, PhD
Debugging Modern Web Protocols
Today, the Internet plays a key part in our lives. Billions of people visit even more Web pages on a daily basis to consume information from and contribute it to the ever growing Web. The speed with which these pages load can have a profound impact on their users' experience and subsequent behaviour. Firstly, slow page loads might lead to user frustration, abandoned sessions, less frequent visits and, ultimately, reduced revenue. Secondly, Web performance can be defined as an accessibility and equality issue, as timely access to online educational, medical, navigational, or even legal information can have a large social impact. It is thus no wonder that Web performance is a hot topic, both in industry and academia.
The Web page loading process and its efficiency is tightly linked to the network protocols used to transport the page's resources, such as IP, TCP, QUIC, TLS, and HTTP. Consequently, even today a large amount of time and energy continues to be put into improving the performance of key protocols and into the development of new ones. These upgrades have rarely been trivial however, and have come at the cost of a growing complexity, making the advanced protocols, their features and potential alternatives hard to design, implement, analyze, debug, test, compare, teach, deploy, and use correctly in practice. This text tracks our efforts on tackling these challenges as they occurred for the past five years in the rapid evolution from the older HTTP/1.1 via HTTP/2 to the most recent HTTP/3 and QUIC protocols. During this time we have been actively involved with the Internet Engineering Task Force (IETF), in charge of designing and maintaining these protocols, and much of our work has found real-world impact.
In this work, we firstly examine the behaviour and impact of the various performance features and problems of the protocols, including Head-of-Line Blocking, prioritization, 0-RTT connection establishment, and congestion and flow control. We validate both their core designs and a variety of concrete implementations using extensive empirical evaluations. We uncover a wide range of issues and detail their root causes, as well as potential solutions. We find that, contrary to popular belief, HTTP/2 and HTTP/3 do not magically obviate the need for developers to apply the same manual page composition and deployment tweaks that were needed since HTTP/1.1. One example of a key feature we explore in depth is that of resource multiplexing and prioritization, which governs in which order page resources are transmitted. We observe that HTTP/2's approach to this feature is difficult to utilize correctly and that its recommended default scheme, as implemented by several browsers, actually exhibits worst-case performance. Our subsequent exploration of better alternatives has directly contributed to the feature being completely redesigned for its HTTP/3 successor.
The second major contribution of this work are the tools and methodologies we have developed to aid in analyzing these protocols. Strangely, despite the complexity and importance of their performance features, we found a general dearth of tools and visualizations aimed at measuring, diagnosing, and improving their low-level behaviours. In support of our need to compare various competing schemes and designs, as well as to debug fledgling implementations, we have created a wide array of such tools ourselves. Main among them is the qlog structured endpoint logging format, which allows encrypted protocols such as QUIC to expose deep protocol and implementation state in a privacy-aware fashion. This information can then be analyzed using our qvis toolsuite, a collection of advanced interactive visualizations including sequencing, congestion control, multiplexing, and packetization diagrams. These projects have found a wide adoption within the QUIC and HTTP/3 community, with over 70% of implementations supporting the format, including those of Facebook and Cloudflare who utilize our work to fine-tune their production deployments of the new protocols.
In summary, this text discusses an in-depth exploration of the performance features and characteristics of both the HTTP/2+TLS+TCP and HTTP/3+QUIC protocol stacks. It details our process in creating and using custom tools and methodologies to perform these analyses, as well as discusses the obtained insights, both of which have helped steer the design and practical implementations of these new networking protocols.This thesis was made possible due to personal Strategic Basic
Research grant #1S02717N from FWO, Research Foundation
Flanders
HTTP/3's Extensible Prioritization Scheme in the Wild
For HTTP/2 and HTTP/3, multiple (Web page) resources are loaded by multiplexing them onto a single TCP or QUIC connection. A "prioritization system" is used to properly schedule the order in which the resources are sent. As HTTP/2's "prioritization tree" underperformed, a more straightforward setup called the Extensible Prioritization Scheme (EPS) was proposed for HTTP/3. This paper represents the first real-world measurement study into how this new scheme is supported and employed in practice by the three main browser engines and 12 different popular servers and cloud/CDN deployments. We find considerable heterogeneity in overall EPS (sub)feature support and even fundamental differences in approach/philosophy between the stacks. As incorrect prioritization can have a negative effect on (Web) performance metrics, our work not only provides essential insights for browser vendors and server deployments but also offers recommendations for future improvements
Visualizing QUIC and HTTP/3 with qlog and qvis
The new QUIC and HTTP/3 protocols are complex to implement, debug and use. To tackle this challenge we have worked on both qlog, a structured endpoint logging format, and qvis, a suite of interactive visualizations. These projects have found widespread uptake in the QUIC community and have been used to identify various high-impact real-world bugs. As we are now extending qlog and qvis to other protocols and think they can be useful for teaching and research as well, we feel the time is right to bring our work to the wider SIGCOMM community. We do this by means of a demo of the qvis tools, showcasing bugs we found in complex areas such as congestion control, stream multiplexing and packetization
Concatenation, Embedding and Sharding: Do HTTP/1 Performance Best Practices Make Sense in HTTP/2?
Web page performance is becoming increasingly important for end users but also more difficult to provide by web developers, in part because of the limitations of the legacy HTTP/1 protocol. The new HTTP/2 protocol was designed with performance in mind, but existing work comparing its improvements to HTTP/1 often shows contradictory results. It is unclear for developers how to profit from HTTP/2 and whether current HTTP/1 best practices such as resource concatenation, resource embedding, and hostname sharding should still be used. In this work we introduce the Speeder framework, which uses established tools and software to easily and reproducibly test various setup permutations. We compare and discuss results over many parameters (e.g., network conditions, browsers, metrics), both from synthetic and realistic test cases. We find that in most non-extreme cases HTTP/2 is on a par with HTTP/1 and that most HTTP/1 best practices are applicable to HTTP/2. We show that situations in which HTTP/2 currently underperforms are mainly caused by inefficiencies in implementations, not due to shortcomings in the protocol itself.This work is part of the imec ICON PRO-FLOW project. Robin Marx is a SB PhD fellow at FWO, Research Foundation - Flanders, project number 1S02717
Same Standards, Different Decisions
The QUIC and HTTP/3 protocols are quickly maturing together with
their implementations, though many of their low-level behaviours
are not yet well-understood. To help improve this, we empirically
compare 15 IETF QUIC+HTTP/3 implementations for advanced
features like Flow and Congestion Control, 0-RTT, Multiplexing,
and Packetization. We find a large heterogeneity between stacks,
discuss uncovered bugs and conclude that most implementations
are not fully optimized or validated yet. We argue that future work
must prioritize rigorous root-cause analysis of observed behaviours,
and show this is possible by employing our qlog and qvis tools.Robin Marx is a SB PhD fellow at FWO, Research Foundation Flan-ders, #1S02717N. The authors would like to thank our shepherdVaibhav Bajpai for his guidance during the review process. We alsoappreciate the help of Maarten Wijnants, Jens Bruggemans, DmitriTikhonov, Lucas Pardue, Maxime Piraux and Song Zhu in reviewingearlier versions of this wor
Going Beyond Counting First Authors in Author Co-citation Analysis
The present study examines one of the fundamental aspects of author co-citation analysis (ACA) - the way co-citation
counts are defined. Co-citation counting provides the data on which all subsequent statistical analyses and mappings
are based, and we compare ACA results based on two different types of co-citation counting - the traditional type that
only counts the first one among a cited work's authors on the one hand and a non-traditional type that takes into
account the first 5 authors of a cited work on the other hand. Results indicate that the picture produced through this non-traditional author co-citation counting contains more coherent author groups and is therefore considerably clearer. However, this picture represents fewer specialties in the research field being studied than that produced through the traditional first-author co-citation counting when the same number of top-ranked authors is selected and analyzed. Reasons for these effects are discussed
DOM2AFRAME: Putting the web back in WebVR
As the Virtual Reality (VR) market continues to grow, so does the
need for high-quality experiences. In order to unlock the wide pool
of existing web-based content, common and more specialized web
browsers allow users to visit existing web pages in VR. Additionally, the latest version of the WebVR [24] standard facilitates the integration of custom 3D/VR content in a web page. Sadly, both options consciously exclude the use of standard 2D web technology (such as HTML and CSS) in other common use cases, such as creating a highly interactive 2D UI for a 3D/VR game. Consequently, web developers wanting to use WebVR are required to learn an entirely new skill set to create VR experiences.
This work surveys and explores workaround options for rendering
2D HTML/CSS/JavaScript-based content in WebVR. We find that existing methods are often too slow to allow for a highly
interactive experience. We introduce DOM2AFrame, a new framework
that couples 2D page elements directly to their equivalent 3D
counterparts (using the A-Frame library [2]) to allow for smooth
updating, animation and user interaction at frame rates close to 60
FPS on modern hardware. Two case studies validate our approach
and show its potential for rendering 2D web content in VR.This work is part of the imec ICON PRO-FLOW project. Robin Marx is a SB PhD fellow at FWO, Research Foundation - Flanders, project number 1S02717
Of the Utmost Importance: Resource Prioritization in HTTP/3 over QUIC
Not even five years after the standardization of HTTP/2, work is already well underway on HTTP/3. This
latest version is necessary to make optimal use of that other new and exiting protocol: QUIC. However, some
of QUIC’s unique characteristics make it challenging to keep HTTP/3’s functionalities on par with those of
HTTP/2. Especially the efforts on adapting the prioritization system, which governs how multiple resources
can be multiplexed on a single QUIC connection, have led to some difficult to answer questions. This paper
aims to help answer some of those questions by being the first to provide experimental evaluations and result
comparisons for 11 different possible HTTP/3 prioritization approaches in a variety of simulation settings. We
present some non-trivial insights, discuss advantages and disadvantages of various approaches, and provide
results-backed actionable advice to the standardization working group. We also help foster further experimentation by contributing our complete HTTP/3 implementation, results dataset and custom visualizations to the
community
- …
