Modern Internet-scale distributed networks have hundreds of thousands of servers deployed in hundreds of locations and networks around the world. Canonical examples of such networks are content delivery networks (called CDNs) that we study in this paper. The operating expenses of large distributed networks are increasingly driven by the cost of supplying power to their servers. Typically, CDNs procure power through long-term contracts from co-location providers and pay on the basis of the power (KWs) provisioned for them, rather than on the basis of the energy (KWHs) actually consumed. We propose the use of batteries to reduce both the required power supply and the incurred power cost of a CDN. We provide a theoretical model and an algorithmic framework for provisioning batteries to minimize the total power supply and the total power costs of a CDN. We evaluate our battery provisioning algorithms using extensive load traces derived from Akamai's CDN to empirically study the achievable benefits. We show that batteries can provide up to 14% power savings, that would increase to 22% for more power-proportional next-generation servers, and would increase even more to 35.3% for perfectly power-proportional servers. Likewise, the cost savings, inclusive of the additional battery costs, range from 13.26% to 33.8% as servers become more power-proportional. Further, much of these savings can be achieved with a small cycle rate of one full discharge/charge cycle every three days that is conducive to satisfactory battery lifetimes. In summary, we show that a CDN can utilize batteries to significantly reduce both the total supplied power and the total power costs, thereby establishing batteries as a key element in future distributed network architecture. While we use the canonical example of a CDN, our results also apply to other similar Internet-scale distributed networks.
C.4 [Performance of Systems]: Modeling techniques; Design studies
Algorithms, Experimentation, Economics
Internet Content Delivery, Cloud Computing, Energy Efficiency, Energy Storage, Network Architecture
Internet-scale services that deploy large distributed networks of servers across the globe are fundamentally transforming all aspects of human activity by enabling a wide range of applications and functionality. Canonical examples of such networks are Content Delivery Networks1 (CDNs, for short) that we study in this work. CDN's deliver Web content, applications, and streaming media over the Internet with high reliability, performance, and scalability. CDNs are an early example of a Platform-as-a-Service (PaaS) cloud that provides highly-distributed hosting and delivery services for content and application providers. For instance, a large CDN such as Akamai's consists of over 100, 000 servers distributed in over 75 countries and over 1000 networks and serves 15% to 30% of the global Web traffic [1, 14, 20]. Modern CDNs host and deliver Web sites (both static and dynamic content), Web-based and IP-based applications (such as e-commerce portals and SaaS applications), high-definition (HD) streaming media (both live and on-demand), cloud storage services, and even distributed computing where Java application components are run on the CDN's edge platform .
In the quest for greater performance and scalability, CDNs deploy clusters of servers in data centers (i.e., colocation facilities) around the world at the "edges" of the Internet so as to be "proximal" in the network sense to users around the world. Each cluster consists of servers deployed in a specific colocation facility at a specific location. A cluster can contain anywhere from tens of servers in a small Tier-3 ISP or a university to thousands of servers in a large colocation facility in a major metro area. A CDN's servers cooperatively deliver content and applications to optimize the performance experienced by the clients. Content and applications can typically be replicated on demand to any server of the CDN. Each client request is routed by the CDN's load balancing system to an "optimal" server within a cluster that can serve the content with high availability and performance. In particular, the load balancing system ensures that a user is routed to a server that is live, not overloaded, and is located in a cluster that is proximal to the user in the sense of having a communication path with low latency, low loss, and high throughput.
An important consideration for the CDN is to minimize the cost incurred for content and application delivery. The cost of deploying clusters of servers around the globe includes the capital expenditure (CapEx) of procuring the servers themselves and the expenditure of operating them (OpEx). Pure-play CDNs such as Akamai and Limelight seldom own colocation facilities themselves. Instead, these CDNs rely upon colocation providers (e.g., Switch and Data) to house their servers. Similarly, these CDNs rely upon network providers (e.g., Comcast) for their network connectivity. The OpEx of a CDN typically involves multiple components2: a "rent" for the rack space for the CDN's servers, the power cost for powering the servers, and a bandwidth cost for the traffic served to users by the CDN's servers. Increasingly, an important component of the OpEx of large distributed systems is the cost of power. While bandwidth costs were the dominant factor in a CDN's OpEx in the past, bandwidth prices have roughly halved each year during the past decade. For instance, it cost $0.15 to deliver an MB in 1998 but only costs about $0.00005 per MB today, a decrease of roughly 1.8X per year. In stark contrast, the cost of power has been rising over the past decade  and is now a key factor to reckon with. More importantly, power costs are expected to rise even further during the next decade and are, therefore, likely to account for an even larger share of the OpEx of large distributed networks.
Re-architecting next-generation distributed networks with energy3 as a first-order principle is an important long-term goal of our work. To that end, in this paper, we formulate and examine novel techniques for reducing the power expenses that a distributed network incurs by using energy storage devices such as batteries.
Dr. Bhuvan Urgaonkar, PhD has over 15 years of experience in the field of Software Engineering and Computers. His work includes research in computer systems software, distributed computing (including systems such as Zookeeper, Redis, Memcached, Cassandra, Kafka), datacenters, cloud computing, storage systems, energy efficiency of computers and datacenters, big data (including systems such as Hadoop, Spark). He serves as an expert / technical consultant with multiple firms helping them (i) understand technical content related to state of the art products in areas such as content distribution, distributed computing, datacenter design, among others and (ii) interpret patents in these areas and connections between them and state of the art products and services. Services are available to law firms, government agencies, schools, firms / corporations, and hospitals.
©Copyright - All Rights Reserved
DO NOT REPRODUCE WITHOUT WRITTEN PERMISSION BY AUTHOR.