Cooperative I/O

Andreas Weissel, Björn Beutel, Frank Bellosa
2002 ACM SIGOPS Operating Systems Review  
In this paper we demonstrate the benefits of application involvement in operating system power management. We present Coop-I/O, an approach to reduce the power consumption of devices while encompassing all levels of the system-from the hardware and OS to a new interface for cooperative I/O that can be used by energy-aware applications. We assume devices which can be set to low-power operation modes if they are not accessed and where switching between modes consumes additional energy, e.g.
more » ... s with rotating components or network devices consuming energy for the establishment and shutdown of network connections. In these cases frequent mode switches should be avoided. With Coop-I/O, applications can declare open, read and write operations as deferrable and even abortable by specifying a time-out and a cancel flag. This information enables the operating system to delay and batch requests so that the number of power mode switches is reduced and the device can be kept longer in a low-power mode. We have deployed our concept to the IDE hard disk driver and Ext2 file system of Linux and to typical real-life programs so that they make use of the new cooperative I/O functions. With energy savings of up to 50%, the experimental results demonstrate the benefits of the concept. We will show that Coop-I/O even outperforms the "oracle" shutdown policy which defines the lower bound in power consumption if the timing of requests can not be influenced. 210 J 227 J 286 J 312 J 184 J 201 J 257 J 257 J 265 J 270 J 381 J 389 J 269 J 313 J 388 J 430 J 373 J 383 J 375 J 410 J Toccata Toccata & Mail Pastorale Pastorale & Mail 150 200 250 300 350 400 450 E [J] Cooperative Oracle ECU DDT only None Figure 7: reads with varying average period length 753 J 592 J 506 J 425 J 394 J 367 J 609 J 514 J 485 J 478 J 472 J 469 J 778 J 693 J 645 J 566 J 530 J 493 J 780 J 723 J 688 J 635 J 589 J 568 J 750 J 730 J 733 J 725 J 720 J 714 J Figure 8: writes with varying average period length 353 J 339 J 327 J 320 J 311 J 302 J 557 J 508 J 499 J 473 J 452 J 387 J 360 J 348 J 340 J 337 J 336 J 329 J 791 J 708 J 623 J 556 J 523 J 483 J 730 J 718 J 716 J 703 J 695 J 692 J 25 50 75 100 125 150
doi:10.1145/844128.844140 fatcat:cijpuxz225brjhxnxebqwkj2tq