Analysis of TCP’s Computational Energy Cost for Mobile Computing
- 格式:pdf
- 大小:155.24 KB
- 文档页数:20
1.1 在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。
a. 列出此类的问题b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。
Answer:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。
1.2 资源的利用问题在各种各样的操作系统中出现。
试例举在下列的环境中哪种资源必须被严格的管理。
(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑Answer: (a)大型电脑或迷你电脑系统:内存和CPU 资源,外存,网络带宽(b)与服务器相联的工作站:内存和 CPU 资源(c)手持电脑:功率消耗,内存资源1.3 在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好?Answer:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。
充分利用该系统可以对用户的问题产生影响。
比起个人电脑,问题可以被更快的解决。
还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。
当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。
1.4 在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时Answer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。
对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。
批处理程序在两种环境中都是非必需的。
1.5 描述对称多处理(SMP)和非对称多处理之间的区别。
多处理系统的三个优点和一个缺点?Answer:SMP意味着所以处理器都对等,而且I/O 可以在任何处理器上运行。
比较题1.SRAM and DRAM*RAM is short for random access memory.@Static RAM(SRAM) keeps data in the main memory,without frequent refreshing,for as long as power is supplied to the cicuit. SRAM is very fast but it is much more expensive than DRAM and takes more space than DRAM. Dynamic RAM(DRAM) is the most often used RAM in today's computer.DRAM can hold its data if it is refreshed by special logic called the refresh circuit.It is much cheaper and take much less space than DRAM.2.System software and Application software*What is software?Collection of programs is called software .*What is computer softwar?It is defined as the instructions and associated data , stored in electronic format , that direct the computer to accomplish task.*what is the shareware ?Shareware is copyrighted software marketed under a “try before you buy” policy.@Systemsoftware is the stuff that make your computer work.The application software is generally the computer programs which are used for the purpose of performing special tasks using a computer,it trains the PC‟s brain for higher cognitive functions rather than just keeping the PC alive and connected to the other.*Examples about Application Software:(1)Accounting software(2)Collaboratire software(3)Compilers and Interpreters(4)Computers Games(5)Database(6)Educational software(7)E-mailN and W ANLAN:A LAN is a high-speed data network that covers a relatively small geographic area .It typically connects workstations, personal computer, printers, servers, and other devices.W AN:A W AN connect multiple geopgraphically nearby LANs to one another over great geographic distances. The speed available on a W AN waries depending on the cost of the connections and may be low. W ANs opeate using routers , which can “choose ” the most appropriate path for data to take to reacha network node.4.What's the difference between Software Engneering & System Engneering ?@System Engineernig is concerned with all aspects of computer based systems developmentincluding hardware ,software and process engineering.Software Engineering is part of this more general process.5.CRT & LCD@CRT: Calhoole ray lube displays had a standarditool form factor owing to the required shape of heavriy vacuum tubeLCD;Liquid cryslal Displays have a new seirse of style.Free from the bulky shap of CRT,today's flat panel vendors are letting their imaginations run free with monitors that are colourd and shaped to match a design concept.*Advantage of LCD monitor①LCD monitor consume less power②Do not produce electromagnetic radiation as CTRs do③Are right and slim in size④Do not flickers like CRT’s⑤Full viewable size6.Synchronous & Asynchronous@S:you need two separated cables with every clock pulse one data bit is transfermed.A:transmission clock and data are tranfermed with only one cable.7.RISC & CISC@CISC:Complex Instruction Set ComputerIt is microprocessor designIt is used to transulations are complex to machine understand;It is need large memory area;It is very slow in processRISC:Reduced Instruction Set ComputerIt is advanced microprocessor designIt is reduced the complex Set of CISCIt is need minimem-storageIt is very fast to compare with CISC8.Switch & Router@9.Windows OS and Unix OS@Windows OS:Be easily understood.Unix OS:The UNIX OS was desiged to let a number of programmers access the computer at the same time and share its resources.10.Multitasking & Multiuser@Multitasking:Many computers do just one thing at a time ,as anyone who uses a PC laptop can attest. Try logging onto your company …s network while opening your browser and while opening a word processing program .Chances are the processor will freeze for a few seconds while it sorts out the multiple instructions. Multiuser:The same design which permits multitasking permits multiple users to use the computer .The computer can take the commands of a number of users –determined by the design of the computer – to run programs , access files , and print documents at the same time.11.Multitasking & Parallel processing@Multitasking:A single CPU excutes several programs at onceParallel processing:More than one CPU excutes a single program12.3GPL & 4GPL@3GPL:A 3GPL was no longer a need to work in symbolics.Instead,a pogrammer could use a programming language what resembled more to the natural languages.4GPL :A fourth generation programming language is a programming language designed with a specific purpose in mind such as the development of commercial business software.Y ou can use to build an application without the third generation progamming language.13.Paraller processing and Compilier interpreter@14.switch RL and swich GPL@pare OSI with TCP/IPSimilarities :(1)both have layers(2)both have application layers(3)both have comparable transport and Network layers(4)packet ---switched technology is assumed(5)networking professional need to know both modelsdifferences :(1)TCP/IP combines presentation and session layer functions into its application layer.(2)TCP/IP combines the OSI data link and physical layers into one layer(3)TCP/IP simpler because it has few layers(4)OSI complex because it has multiple layers(5)TCP/IP have 4 layers , but OSI have 7 layerspilers and Interpreters@Compiler:A compiler is a computer program that translate a computer program written in one computer language into a program written in another computer language.Interpreter:An interpreter is a computer program that excutes other programs.简答题1.Field in AI①Games playing:programming computers to play games such as chess and checkers.②Expert system:programming computers to make decisions I real –life situations.③Natual language:programming computers to understand natural human language.④Neural networks:systems that simulate intelligence by attemping to reproduce the types of physical connections that occur in animal brains.⑤Robotics:programming computers to see and hear and react to other sensory stimuli .2.Write sth about Quanty Computing?@It was proposed in 1970‟s.It is based on quantum physics,b y taking advantages of certain quantum physics properties of atom or nuclei that allow them to work together as quantum bits or qubits to be the computer processor and memory . 3.Nano technologyIt is a field of science atoms is meant to control individual atoms and molecules to create computer chips and other devices that are thousand of times smaller them current technologies permit.4.Explain Register & it's type?@Only register can be directly indexed for input or output of an instruction, as defined by the instruction set.Types:Data register: Used to stored integer numbersAddress register: Hold memory addresses and are used to access memory General purpose register: It store data and addressFloating point register: Used to stored floating point numbers.Constant register : It hold read only values zero or one.Vector register : It hold single instruction and multiple data(SIMD).Special purpose register: It stored internal CPU data like stack pointer or processor status wordsInstruction register: the instruction currently being executed by the processer is stored here.5.10 lines about Data W arehouse & Data marts?@Data warehouse:Data warehouses are computer based information systems that are home for "secondhand"data that originated from either another application or from an external system or source.W arehouse optimize database query and reporting tools because of their ability to analyze data.They are a way for managers and decision makers to extract information quickly and easily in order to answer questions about their business.Data marts:It are smaller than data warehouse and genera lly contain information from a single department of a business or organization.The current trend in data warehousing is to develop a data warehouse with sevral smaller related data mats for specific kinds of queries and reports.6.Multimedia@Multimedia as the name suggests is an integration of various medium of communication which include text,graphics,animation,audio,still omages and motion video in a way that provides the user with a high level of control and interaction.Multimedia can be defined as any contains three or more of the following elements:text,still images,animation,sound,video and/or hypertext navigation.7.TCP/IP@TCP and IP were developed by Department of Defence of USA research project to connect a number of different networks designed by different vendors into a network of networks.It delivered a few basic services that everyone needs like file transfer,electronic mail,remote logon across a very large number of client and sever systems.TCP/IP is composed of layers:IP-is reponsible for moving packet of data from node to node.TCP-is responsible for verifying the correct delivery of data from client to server. Sockets-is a name given to the package of sunroutines that provide access to TCP/IP on most systems.8.What's bus and it's type?A bus is an important subsystem in computer architecture which transfers data or power between computer components inside a computer or butween computers.There are two types of bus:parallel bus and serial bus.Something about I/O Bus?9.Something about I/O System instructions?@There are four I/O buses in the modern PC architecture and each of them has several functions.They may lead to internal and external ports or they lead to other controlling buses,The four buses are:ISAPCI-which is the newer high speed multifunction I/O bus.AGP-which is only used for graphices adapter.USB-which is the new low speed I/O bus to replaces ISA.11.What's Internet?@Internet is consists of computers and router they obey the rules which is definited in the network. It allows users to communicate with their friends,to send message to the internet to shall the message.12.Basic Principles of 4GL includes?@(1)The Principle of Minimum W ork(2)The Principle of MInimum Skill(3)The Principle of avoiding alien syntax and mnemonics(4)The Principle of Minimum Time(5)The Principle of Minimum errors(6)The Principle of Minimum Maintenance(7)The Principle of Minimum Results13.Something about SQL?@SQL is short for`Structured Query Languages,which comprises one of the fundamental building blocks of modern database architecture.SQL defines the methods used to create and manipulate relational database on all major platforms.14.Parallel Bus and Serial Bus?Parallel Bus,which carries data words across multiple wires.Serial Bus,which carries data in bit-serial form.15.Features of Unix?@(1)Multitasking capability(2)Multiuser capability(3)Portability(4)UNIX programs(5)Library of applications software16.Something about 5th Generation Computers?@Fifth generation computing devices are based on artificial intelligence.AI includes the following fields:(1)games playing(2)expert systems:programming computers to make decisions in real-life situations(3)natural language:programming computers to understand natural human languages(4)neural netwoks(5)robotics17.What is an Internetwok?@An internetwork is a collection of individual networks,connected by intermediate networking devices.that functions as a single large network.Internetworking refers to the industy,products,and procedures that meet the challenge of creating and administering internetworks.18.ISO and OSI@ISO stands for International Standardization Organization and OSI System Interconnect Reference Model.The ISO/OSI is one of the most important systems architectures for talking about commucations.ISO/OSI is divided into seven layers,the pupose of each layer is to offer certain services to the higher layers.(画7层图)7 layers:(1)physical layer --- transmitting individual bits from one node to the next(2)data link layer --- data representation(3)network layer --- end to end communication(4)transport layer --- provide services from internet layer to application layer(5)session layer --- communication between hosts(6)presentation(7)application layer --- provide some applicationwork : interconnection between 2 or more computerpurpose of network :(1)sharing the file and applications(2)sharing hardware deviceskinds of network :(1)UK JANET (Joint Academic Network)(2)Europe EARN (European Academic Research Network)(3)USA ARPA net (Advanced Research Projects Agency Network )Application of network:(1)resource sharinghardware (computer resource , disks , prints )software (application software )(2)information sharingeasy accessibility from anywheresearch capability(3)communicationEmail , Message broadcast.Types of network :(1)LAN (Local Area Network) network in small geographical area(2)MAN (Metropolitan Area Network) network in a city(3)W AN (Wide Area Network) spread geographical20.URLS@URL stands for uniform resource locatorA URL is the address of document on the computer简写:(1) IC --- Integrated Circuit(2) PC --- Personal Computer(3) CPU ---Central Processing Unit(4) VDU --- Visual Display Unit(5) PCI --- Peripheral Component Interconnect(6) USB ---Universal Serial Bus(7) GUI --- Graphical User Interface(8) OSI --- Open System Interconnection(9) ISO --- International Standard Organization(10) HTTP --- Hypertext Markup Language(11) TCP --- Transfer Control Protocol / Internet Protocol(12) DNS --- Domain Name System(13) FTP --- File Transfer Protocol(14) UDP --- User Datagram Protocol(15) ARP --- Address Resolution Protoco。
相互依存网络边攻击下的相继故障研究在当今的信息时代,网络已成为人们日常生活和工作中不可或缺的一部分。
网络的发展也使得世界变得更加紧密,各个国家、地区和人们通过网络来实现交流和合作。
对于我们每个人来说,网络的安全至关重要。
然而,人们不断创造新的技术,网络也不断发展,这也为网络的安全问题带来了新的挑战。
而相互依存网络边攻击下的相继故障,也是网络安全问题中的一个热点。
相互依存网络是指一个网络系统中,不同网络间的依存性和相互支持性。
这种网络系统是由多个网络构成的,它们之间没有互相独立的联系,而是相互依存、相互支持的。
例如,我们使用的电力和通信服务就是由多个网络构成的相互依存网络。
相互依存网络的攻击会影响到其他网络甚至整个系统的运行,其故障具有“连锁式”传递特性,可能导致整个网络系统崩溃。
在相互依存网络边攻击下的相继故障研究中,人们通过研究网络攻击行为和网络系统的特性,来寻找可能造成网络故障的源头并预测可能的故障传播路径。
研究表明,在网络系统中,每个节点都相互连接,节点之间的关系构成了网络的拓扑结构,如果网络中存在重要节点被攻击或发生故障,可能导致整个网络的瘫痪。
通过对网络系统中节点的“重要程度”进行分析和评估,可以有效地预测网络故障的发生。
研究表明,在相互依存网络中,有些节点虽然并不是整个系统中最重要的节点,但是在某些情况下却可能对整个网络产生重要影响。
例如,在电力系统中,变压器之间的连接节点可能导致整个电力系统的瘫痪。
而在金融系统中,银行的相互交易关系也可能引起整个系统的崩溃。
为了应对相互依存网络边攻击下的相继故障,需要采取有效的防御措施。
一方面,网络中的每个节点都应该得到保护和维护,特别是系统中的重要节点。
另一方面,应建立完善的网络安全保障机制,加强网络安全监控,避免网络攻击和故障的发生。
总之,相互依存网络边攻击下的相继故障研究是网络安全领域的一个重要研究方向,它是对网络系统的安全性能和可靠性的考验。
高性能计算(High-performance computing)是一种需要大量计算资源的计算方法,通常用于解决复杂的科学、工程和商业问题。
然而,为了确保计算任务能够高效地执行,我们需要对其资源需求进行分析和优化。
本文将讨论如何分析高性能计算任务的资源需求,以帮助读者更好地规划和管理计算任务。
一、任务特性分析在进行资源需求分析之前,首先需要对计算任务的特性进行分析。
不同类型的计算任务对计算资源的需求可能会有很大的差异。
例如,有些任务可能需要大量的内存和存储来处理大规模的数据集,而另一些任务可能主要需要大量的计算核心来处理复杂的计算模型。
因此,我们需要了解计算任务的类型、数据量、计算量以及运行时间等特性。
二、性能指标测量与分析在分析任务的资源需求之前,我们首先需要了解任务的性能指标。
将任务的执行时间作为性能指标是一种常用的方法。
我们可以通过测量任务的实际执行时间来了解任务对计算资源的需求。
为了准确测量性能指标,我们还需要考虑许多其他因素,如系统的负载情况、网络带宽和延迟、数据传输速度等。
这些因素可能对任务的性能产生显著影响,因此需要进行详细的分析。
三、资源需求分析现在我们已经了解了任务的特性和性能指标,可以开始进行资源需求分析了。
在分析资源需求时,我们通常需要考虑以下几个关键因素:1. CPU资源需求:根据任务的计算量,我们可以估算出所需的CPU核心数。
通常情况下,计算密集型任务需要更多的核心来处理大量的计算操作。
2. 内存需求:某些任务可能需要较大的内存空间来存储和处理数据。
我们需要根据任务要求来评估所需的内存大小。
3. 存储需求:对于处理大规模数据集的任务,我们需要足够的存储空间来存储数据。
此外,还需要考虑数据的读取和写入速度,以确保任务的正常执行。
4. 网络需求:某些任务可能需要高带宽和低延迟的网络环境。
我们需要评估任务对网络资源的需求,并选择合适的网络配置。
5. 并行性分析:许多任务可以通过并行计算来提高处理能力。
2022年职业考证-软考-网络工程师考试预测题精选专练VII(附带答案)第1套一.综合题(共25题)1.单选题在SNMPv3安全模块中的加密部分,为了防止报文内容的泄露,使用DES算法对数据进行加密,其密钥长度为()。
问题1选项A.56B.64C.120D.128【答案】A【解析】DES算法:加密前,对明文进行分组,每组64位数据,对每一个64位的数据进行加密,产生一组64位的密文,最后把各组的密文串接起来,得出整个密文,其中密钥为64位(实际56位,有8位用于校验)。
2.单选题下面的IP地址中,能够作为主机地址的是()问题1选项A.168.254.0.243/30B.10.20.30.40/29C.172.16.18.0/22D.192.168.11.191/26【答案】C【解析】主机地址的主机位非全0和非全1C选项的IP地址转换为二进制表示后,满足此条件。
3.案例题阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。
【说明】某企业网络拓扑图如图1-1所示。
该网络可以实现的网络功能有:1.汇聚层交换机A与交换机B采用VRRP技术组网;2.用防火墙实现内外网地址转换和访问策略控制;3.对汇聚层交换机、接入层交换机(各车间部署的交换机)进行VLAN划分。
图1-1【问题1】(6分)为图1-1中的防火墙划分安全域,接口①应配置为(1)区域,接口②应配置为(2)区域,接口③应配置为(3)区域。
【问题2】 (4分)VRRP技术实现(4)功能,交换机A与交换机B之间的连接线称为(5)线,其作用是(6).【问题3】(6分)图1-1中PC1的网关地址是(7);在核心交换机上配置与防火墙互通的默认路由,其目标地址应是(8);若禁止PC1访问财务服务器,应在核心交换机上采取(9)措施实现。
【问题4】 (4分)【答案】【问题1】(6分)(1)非信任(2)信任(3)DMZ【问题2】(4分)(4)冗余备份、容错(5)心跳线(6)传递VRRP协议报文【问题3】(6分)(7)192.168.20.1(8)0.0.0.0(9)ACL【问题4】(4分)(10)堆叠(11)级联(12)堆叠(13)级联【解析】【问题1】(6分)为图1-1中的防火墙划分安全域,接口①应配置为非信任区域,接口②应配置为信任区域,接口③应配置为DMZ区域(因为有对外提供服务的公共服务器)。
2024年国家电网招聘之电网计算机练习题(二)及答案单选题(共45题)1、IPv6地址由多少比特组成?_____A.32B.48C.64D.128【答案】 D2、与 HAVING 子句一起使用的子句是()。
A.GROUP BYB.ORDER BYC.JOIND.WHERE【答案】 A3、BGP runs over a reliable transport (请作答此空). This eliminates the need to implement explicit update fragmentation, retransmission, acknowledgement, and (). Any authentication scheme used by the transport protocol may be used in addition to BGP's own ()mechanisms. The error notification mechanism used in BGP ()that the transport protocol support s a “graceful” close, i.e., that all outstanding data will be delivered ()the connection is closed.A.protocolB.movingC.machineD.gateway【答案】 A4、设有广义表D(a,b,D),其长度为3,深度为()A.∞B.3C.2D.5【答案】 A5、在 OSI 环境中,不同开放系统对等实体之间的通信,需要(N)实体向相邻的上一层(N+1)实体提供一种能力,这种能力称为()。
A.(N)协议B.(N)服务C.(N)用户D.(N)功能【答案】 B6、设数组 Data[0..m]作为循环队列 SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作的语句为()。
算力英语作文Computing power, or "hash power" as it is commonly referred to in the world of cryptocurrency, plays a crucial role in ensuring the security and functionality of blockchain networks. 算力在加密货币世界中通常被称为“哈希率”,在确保区块链网络的安全和功能性方面发挥着至关重要的作用。
The concept of computing power refers to the amount of computational resources dedicated to maintaining and securing a blockchain network. 算力的概念指的是用于维护和保护区块链网络的计算资源的数量。
From a technical perspective, computing power is measured in hash rate, which represents the number of hash calculations that a computer or network can perform in a given period of time. 从技术角度来看,算力是以哈希率来衡量的,它代表了计算机或网络在一定时间内可以执行的哈希计算数量。
The higher the hash rate, the more computational power a network possesses, thereby increasing its security and efficiency. 哈希率越高,网络的计算能力就越大,从而提高了其安全性和效率。
In the context of blockchain networks, computing power is essential for the process of validating and confirming transactions, as well asfor securing the network against potential attacks. 在区块链网络中,算力对于验证和确认交易的过程以及保护网络免受潜在攻击至关重要。
中国地质大学智慧树知到“计算机科学与技术”《计算机安全》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.下面哪项与VPN安全技术无关()。
A.加密技术B.隧道技术C.包过滤技术D.QoS技术2.下列有关DES说法,不正确的是()。
A.设计DESS盒的目的是保证输入与输出之间的非线性变换B.DES算法设计中不存在弱密钥C.目前已经有针对DES的线性密码分析和差分密码分析方法D.DES是基于Feistel密码结构设计的3.防火墙有()基本功能。
A.过滤、远程管理、NAT技术、代理B.MAC与IP地址的绑定、流量控制和统计分析C.流量计费、VPN、限制同时上网人数、限制使用时间D.限制特定使用者才能发送E-mail,限制FTP只能下载文件不能上传文件、阻塞JavActiveX控件4.PKI提供的核心服务包括()。
A.认证B.完整性C.密钥管理D.简单机密性5.注册中心是PKI的核心执行机构,是PKI的主要组成部分。
()T.对F.错6.解毒过程是根据病毒类型对感染对象的修改,并按照病毒的感染特性所进行的恢复,恢复过程可能破坏未被病毒修改的内容。
()T.对F.错7.在PKI信任模型中,()模型中,每个用户自己决定信任哪些证书。
A.认证中心的严格层次结构模型B.分布式信任结构模型C.Web模型D.以用户为中心的信任模型8.TEMPEST技术的主要目的是()。
A.减少计算机中信息的外泄B.保护计算机网络设备C.保护计算机信息系统免雷击和静电的危害D.防盗和防毁9.非对称密码算法简化密钥管理,可实现数字签名。
()T.对F.错10.嗅探器检测的PING方法就是向可疑主机发送包含错误IP地址和MAC地址。
() T.对F.错11.拒绝服务攻击的后果是()。
A.信息不可用B.应用程序不可用C.系统宕机D.阻止通信12.下列选项中属于网络安全的问题是()。
A.散布谣言B.拒绝服务C.黑客恶意访问D.计算机病毒13.从协议层次模型的角度看,防火墙应覆盖网络层,传输层与()。
Analysis of TCP’s Computational Energy Cost for Mobile ComputingBokyung Wang and Suresh SinghDepartment of Computer SciencePortland State UniversityPortland,OR97207Accepted to ACM SIGMETRICS2003as a PosterFull paper submitted for publication to J.Wireless NetworksAbstractIn this paper we present results from a detailed measurement study of TCP(Transmission Control Protocol)running over a wireless link.Our primary goal was on obtaining a breakdown of the computational energy cost of TCP at the sender and receiver(excluding radio energy costs)as afirst step in developing techniques to reduce this cost in actual systems.We analyzed the energy consumption of TCP in FreeBSD4.2and FreeBSD5running on a wireless laptop and Linux2.4.7running on a wireless HP iPAQ3630PocketPC.Our initial results showed that60-70%of the energy cost (for transmission or reception)is accounted for by the Kernel–NIC(Network Interface Card)copy operation.Of the remainder,15%is accounted for in the copy operation from user space to kernel space with the remaining15%being accounted for by TCP processing costs.We then further analyzed the TCP processing cost and determined the cost of computing checksums accounts for20–30%of TCP processing cost.Finally,we determined the processing costs of two primary TCP functions–timeouts and triple duplicate ACKs.Putting all these costs together,we present techniques whereby energy savings of between20%–30%in the computational cost of TCP can be acheived.1IntroductionCommunication underlies many applications run by users of mobile devices and thus there is a need to better understand how and where energy is consumed in the communications pipeline.Prior work by various researchers(discussed in section2)has looked at the energy consumption of various wireless interface cards[12,13],the impact of ARQ(Automatic Repeat reQuest)protocols on overall energy consumption,the effect of channel conditions on energy consumption,and comparative energy and throughpout-based studies of different TCPflavors.While all of these studies have contributed a great deal to understanding the impact of the wireless link on the overall end-to-end energy consumption,none of these studies has looked at the computational energy cost of running the TCP protocol itself.In this paper we analyze the computational energy cost of the TCP protocol in detail and use this analysis to develop approaches by which the node-level cost of running TCP can be reduced.Interestingly,our results show we that approaches for optimizing TCP for high-speed network operation,can,in some cases,result in lower energy consumption in the wireless domain as well!The computational cost of TCP includes the cost of various copy operations,the cost of computing checksums,the cost of responding to timeouts and triple duplicate ACKs,and other bookeeping costs.Our goal in this study is to estimate the energy(in Joules)taken by each of these operations,and,in order to ensure that our results are robust,we performed these measurements on three different systems.The benefit of our study is fourfold:first,it enables us to develop techniques to reduce the computational energy cost of TCP;second,other researchers working on developing throughput models for TCP can use the results of our study to simultaneously develop energy models since we have characterized the cost of the primary TCP functions;third,our node-level energy models can be incorporated into simulators such as NS-2[1]to obtain overall energy cost of TCP connections(NS-2currently only includes the radio energy cost);finally,the methodology we have developed can be used by others to evaluate the TCP energy cost in their system of choice.The remainder of the paper is organized as follows.In the next section we discuss related work;section3presents an overview of TCP processing and describes the key tasks that are energy consuming;section4details the methodology we followed in our study to estimate the various energy costs;results of our measurement are described in section5;we1use the results of our measurements to develop techniques to reduce the overall computational energy cost of TCP and a discussion of this is presented in section6;finally,section7presents our conclusions.2Related WorkThe TCP protocol has been analyzed in the past decade by a large number of researchers for a variety of different reasons. Of this large body of prior work,however,we focus on two specific sub-areas that are directly relevant to the work reported in this paper:work that has analyzed the energy consumption of TCP(or other protocols)for wireless networks and work that has examined the performance of TCP at the node level(where the goal was to enable end-systems to operate at gigabit speeds).While our paper focuses on the wireless domain,we see that many of our results are parallel to those obtained for making TCP operate at high data rates.[8]is one of the earliest papers that examined the processing overhead of TCP.The goal of this work was to see if TCP processing was indeed a bottleneck in end-to-end connection throughput.The authors counted the number of instructions executed in TCP and IP at the sender as well as at the receiver when TCP follows the“normal path”of execution.In addition to instruction counts,they also provided a breakdown of the processing cost in terms of time consumed.We refer to specific results of[8]later in our paper(sections5.2and5.3)where we draw comparisons with out own measurements. Among the results of[8]is the conclusion that TCP processing cost is not high,contrary to popular belief in1989,and is not the bottleneck to achieving high data rates.In order to get TCP to operate at gigabit speeds,researchers have developed methods in software as well as in hardware. We do not provide a comprehensive discussion of the various results here because our focus in this paper is on wireless networks.However,it is useful to list some of the main techniques developed because our results indicate that some of these techniques developed for high-speed TCP can also result in energy savings in the wireless domain where TCP processing speed is not as important!The techniques developed by the high-speed TCP community(for example[21,5, 22,3,17,15,10,9,7])include,on the software side,using zero-copy,header prediction,interrupt supression(where the processor is only interrupted when several packets have been received),using jumbo frames,and integrating checksum computation with copy.In hardware,the techniques suggested include,checksum offloading,offloading some common path TCP/IP functionality to the NIC(Network Interface Card),packet aggregation on the NIC card,etc.The goal of all these optimizations is to ensure that applications can run at network speeds and not be hampered by TCP’s processing.In the wireless domain,there have been several papers dealing with the problem of TCP’s energy consumption over wireless links where energy consumption is modeled as the ratio of the number of successful transmissions to the total number of transmissions.Most of these papers focus on the impact of the link layer on the energy efficiency of TCP.[29]considers the effect of ARQ strategies on energy consumption.The key idea is to suspend packet transmission when channel conditions worsen and probing the channel state prior to packet transmission.When channel conditions improve, packet transmission is resumed.[30]analyzes the energy consumption performance of various versions of TCP for bulk data transfer in an environment where channel errors are correlated.The paper only considers one-hop wireless links with zero propagation delays.[19]also considers the effect of ARQ,FEC(Forward Error Correction)and a combination of the two on energy consumed in ad hoc networks.The paper uses the Maisie simulation language and Glomosim to perform the study.The underlying theme in these papers is that reducing the number of unnecessary retransmissions implies better energy efficiency.In the recent past there have been simulation-based studies[31,11]of throughput and energy consumption of TCP connections in wireless networks.These studies investigate the tradeoff of radio transmit power on the throughput of TCP.[31]concludes that increased trasmitted power(RF power)is not always good as their study shows that increased transmitted power results in higher TCP throughput up to a point(because of better signal to interference ratio),after which an increment of transmitted power actually leads to worse performance due to greater interference.[11]examines the effect of transmission range on the energy as well as throughput of TCP in multi-hop networks.They model energy as a sum of the idle energy consumed for the duration of the connection and the sum of the hop-by-hop transmit energy consumed (path loss is the primary contributor to this energy cost).The throughput is modeled as being inversely proportional to the product of the packet error rate and the square root of the round trip time.The authors then show that decreasing the transmission range will result in lower overall energy consumed but will decrease throughput.However,decreasing the transmit energy beyond a certain point will result in an increase in energy because the throughput falls to very low levels and the idle energy cost dominates.While interesting,this paper appears to make several simplistic assumptions about the radio environment,such as:ignoring the relationship between packet loss rates and decreased transmit power,2energy consumed by receiver nodes(since each transmission is often heard by several neighbors),and the possibility of radios entering sleep states to minimize idle power consumption.[27]compares the energy and throughput-efficiency of TCP error control strategies for three implementations of TCP Tahoe,Reno,and New Reno.They implemented the three versions of TCP using the x-kernel protocol framework and their focus was to study heterogenous wired/wireless environments.Finally,[26]provides an energy and throughput comparison of TCP reno,newreno,and SACK for multihop wireless networks.This paper reports on the results of actual energy measurements and the primary conclusion is that TCP newreno work best in wireless environments.Unlike the papers discussed above,the focus of our work has been on examining the computational energy cost of TCP. This cost is affected by the software as well as by the hardware of the mobile node.We explore this relationship in detail and then develop approaches that would result in a reduction of the node-level TCP energy cost.Our work can thus be thought of as complimentary to the above referenced wireless papers in that while we look at the node-level cost of running TCP,the other papers examine the impact of the propagation environment on the total end-to-end cost of TCP.3Energy consumption in TCPThe computational energy cost of a TCP session established by a wireless device can be viewed as the total energy cost of the session minus the cost of the radio and the idle energy cost of the connection(i.e.,when the node is idle awaiting ACKs or data segments).Consider the example illustrated in Figure1which provides plots of current draw versus time. The upper curve is the total system current draw for a laptop equipped with a802.11b radio card and the bottom plot is the simultaneous current draw for the802.11b card alone.In this plot,the laptop is acting as a sender for a ttcp[28]connection. In order to determine the computational energy cost of this connection,wefirst delete all portions of the system current plot in which the system is idle(this corresponds to the areas in the upper plot marked by A–not all areas are marked for clarity).We are then left with a plot consisting only of those periods that show TCP related activity(i.e.,the regions marked C).From these activity periods we subtract out the radio energy cost(the regions in the lower plot marked as B). Thisfinal data is summed over the lifetime of the connection(the units are Ampere-second)and multiplied with the voltage to give us the total computational energy cost of the connection(we provide an example of this calculation in section4.2). Thus,we see that this procedure appropriately eliminates the radio cost(transmit/receive/idle/sleep)and the idle system cost from the measurement.The energy value obtained is thus the pure hardware/software cost of running TCP at the node.Our goal in this paper is to decompose this computational energy cost further so as to better understand which TCP/IP3functions cost more energy.To this end,we view the TCP computational energy cost as being composed of the following primary components:The cost of moving data from the user space into kernel space that we denote user-to-kernel copy.Note that this cost can be eliminated by using zero-copy[24,6],if available.The cost of copying packets to the network interface card that we denote as kernel-to-NIC copy.The cost of processing in the TCP/IP protocol stack(TCP Processing Cost)which includes:–The cost of computing the checksum(at sender and receiver),–The cost of ACKs(at sender and receiver),–The cost of responding to timeout events(TO)(at the sender this is the processing cost plus NIC-to-kernel copycost of the retransmitted packet),–The cost of responding to triple duplicate ACKs(TD)(at the sender this is the processing cost plus the NIC-to-kernel copy cost of the retransmitted packet),and–Other processing costs such as window maintenance(at sender on receiving ACKs),estimate round trip time(at sender),obtaining the TCB(Transmission Control Block),interrupt handling,and timer maintenance12 While it is possible to break down some of these costs even further,we believe that this level of granularity is sufficient for most modeling ing this breakdown,the total computational cost of a TCP session,in which bytes of data are transmitted,can be written as:MTU Size user-to-kernel copy for bytes checksum cost for MTU packetsACK cost kernel–NIC copy cost for MTU(1)packets of size MTU Number of TOs TO copy and processing costNumber of TDs TD copy and processing cost Other processing costsWe have written the total energy cost as a function of the MTU(Maximum Transmission Unit)size because different MTU sizes result in different total energy costs.4Methodology4.1Experimental SetupIn order to ensure that our measurements of TCP’s computational energy cost are widely applicable,we performed the measurements on three different platforms:Toshiba Satellite2805-S201laptop with a650MHz P3Celeron processor,256MB RAM running FreeBSD4.2, The same laptop running FreeBSD5.0,andA Compaq iPAQ H3630PocketPC with a StrongARM processor running Linux2.4.7.The same network card was used for each of the three platforms above–a2.4GHz Lucent802.11b WaveLAN“Silver”card.Finally,power management was turned off in the computers as well as the802.11card for our experiments.The display was also off and the x-server was not running.Energy consumption was determined by measuring the input voltage and current draw using two Agilent34401A digital multimeters that have a resoultion of one millisecond.We did not use batteries in the devices because,as noted in 1In this paper we chose not to analyze TCP options such as SACK(Selective ACK)but rather concentrate on the core TCP implementation alone.2We have not isolated the cost of interrupt processing but rather folded it into the various processing costs.3Typical TCP modeling studies(see[20,25])proceed by obtaining the probability of TD and TO events as a function of packet loss rates and then using these values to obtain throughput as a function of packet loss probability,round trip time,window size,etc.The primary factor affecting throughput is the presence of TO and TD events since these result in a reduction in the congestion window size.Given this,we believe that the level of granularity we use to characterize energy consumption is adequate for modeling purposes.4[13],avoiding the use of batteries allows for a more steady voltage to be supplied to the device.Since our goal was to measure the computational cost of TCP alone,we needed to separately but simultaneously measure the current draw of the laptop/iPAQ and the current draw of the802.11b PCMCIA card(as illustrated in Figure1).To do this,we followed the methodology described in[13,12,26]in which,the802.11b PCMCIA card is attached to a Sycard PCCextend140A CardBus Extender[16]that in turn attaches to the PCMCIA slot in the laptop or iPAQ.This extender is a breakout box which allows us to directly measure the current and voltage draw of the802.11b card.Ourfinal experimental set up was as follows:the laptop’s(or iPAQ’s)power supply is measured by one Agilent34401A multimeter while the802.11b’s power supply is measured by attaching a second Agilent34401A multimeter to the appropriate terminals on the Sycard CardBus extender.Both these multimeters are triggered simultaneously by a second laptop that also collects data from these multimeters.The average current and voltage measurements are given below:Measured Average Current(mA)V oltageTransmit Receive Idle(V/DC)Toshiba Laptop19051709122015.08HP iPAQ655630517 5.05WaveLAN263181159 5.0464.2Sample MeasurementIn order to measure the computational energy alone,we need to identify and then subtract out the energy consumed by the radio as well as the idle energy consumed by the laptop/iPAQ.We illustrate this process via the example shown in Figure 2.In thisfigure we plot the measured simultaneous current draw for the laptop and the WaveLAN card(MTU1500bytes). We make the following observations:The radio continues transmitting long after the packets have been copied to its input buffer(the TCP processing and copy operation corresponds to the region between A–B and C–D in thefigure).This is because the packets are copied at a much higher speed of20MBytes/sec over the PCMCIA bus as compared with the radio transmission speed.Interestingly,we see that the radio transmission speed is far below specifications and is approximately1.2Mbits/sec (see also Figure5).The computational energy cost of TCP is calculated as follows:For all measurements of system current draw above idle,we compute the total current drawn assuming that the current draw is constant over1msec intervals(we needed to do this becasue the resolution of our multimeter is1 msec).In Figure2,this means that we sum the current in regions A–B and C–D.For the sake of illustration,let us only consider region A–B.The sum of the current draw here is17137.6Ampere-Second.The energy draw is therefore0.258Joules(after multiplying with the voltage drawn).We next compute the radio energy drawn for this same period.In our example,the radio energy drawn in the period A–B is0.012Joules(note that the radio card runs at5V rather than15V).The computational energy cost is then the difference of the above two values.In our example,this gives us a value of0.246Joules.Our experiments used a send buffer size of16KBytes or approximately11packets.Thus,the per packet computational energy in this example is0.022Joules(see Figure4where we plot the packet cost).Note that by following the above procedure we discount the idle energy draw of the system as well as the radio cost.In order to compute the computational energy as described above,we wrote scripts that automatically performed the above algorithm on very large data sets.4.3Parameter SelectionWe used ttcp(the buffer size for ttcp was set at8192bytes)to measure the energy consumption for transmitting1MByte of data.We simultaneously ran tcptrace[18]and tcpdump[28].The information collected from these tools was used to identify the radio events(B in Figure1)and appropriately subtract the corresponding radio energy cost from the overall system cost(C in Figure1).The parameters we used for the various measurement experiments are illustrated below.5Paramaters ValuesTCP window size16KRTS/CTS OFFMTU Size168,296,552,960,1500bytesPacket Loss No default setting(for most experiments)3%,5%,7%,10%using Dummynet(for experiments in section5.3 In order to determine the energy consumed by various functions of TCP,we needed to set up TCP connections from our test devices via a wireless LAN to some host.We used an access point that was connected to the local100Mbps ethernet backbone.For some studies(such as those where we studied the cost of TD and TO processing)we needed to carefully control the packet loss rates.To do this,we ran Dummynet[23]at a local node in the connection path and dropped packets from the ttcp connection.5Results&AnalysisWe have divided the measurement results into three sections for reasons of clarity:In thefirst section we discuss the total computational and radio energy costs and provide a comparison between the three systems.The radio energy costs include the transmission and reception costs only(i.e.,we discount the idle radio energy cost because,as noted in[27],in the case of low throughput the idle cost would dominate all others).In sections5.2and5.3we provide a breakdown of the total computational energy cost into the major components discussed in section3.Finally,in section5.4we validate our results in a new set of experiments in which we compare predicted energy cost and the actual energy measured for these connections.We would like to note that for all the plotted data in the following sections we show95%confidence intervals that were obtained by combining data from between50and100repetitions of each experiment.65.1Comparison of computational energy costs between the three systemsIn thisfirst set of experiments,we set up TCP connections with a local host and the three systems were placed in the exact same physical location in the laboratory and were close to the access point45.One megabyte of data was sent from or to each system using ttcp.Thefirst study compares the computational energy cost of the three systems(acting either as a sender or as a receiver)as a function of MTU size(see Figure3).We note that we did not observe any losses and thus the computational cost we measured does not include the TD and TO costs.In general,we can see that the iPAQ6is indeed far more energy efficient than the laptop(with either version of FreeBSD).This is to be expected because the iPAQ uses a low-power StrongARM processor and is optimized for low energy operation.It is important to note that these energy costs represent only the computational energy cost and do not include the idle energy cost which,in the case of the laptop,consists of the cost of the fan,hard disk,CD, screen,etc.The impact of increasing the MTU size in all cases is to reduce the computational energy cost because the cost of operations such as copy and checksum computation are amortized over more bytes.It is also noteworthy that the impact is higher in the case of the laptop.These behaviors are explained in more detail in section5.2.In comparing the two versions of FreeBSD,we note that there is no difference in energy cost when the laptop is a receiver.However,when it is a sender,we see that version5is more energy efficient(however,since the confidence intervals of one include the means of the other we cannot make a very strong statement about this difference).In all three cases,we note that the computational cost of sending is greater than that of receiving.This is expected because the sender does perform more bookeeping tasks such as window management,RTO computation,etc..However,the three systems show a variance in behavior.The sender in FreeBSDv4.2consumes10%more energy than the receiver whereas the sender in FreeBSDv5consumes only5%more energy.It is difficult to pinpoint the reason for this difference in behavior because the TCP/IP code for version5is very different from version4.2 (including the fact the version5implements TCP newreno while version4.2implements reno).Finally,we note that the iPAQ sender consumes15%more energy than an iPAQ receiver.In Figure4we plot the per packet computational energy cost(excluding the radio transmission/reception cost)as a function of MTU size.As expected,larger packets do cost more to process and there is a linear increase in cost as a function of packet size.The increase is,however,steeper for the case of the laptop.We return to a discussion of this in section5.2.Figure5plots the throughput of the three systems as a function of MTU size.We see that larger MTU sizes result in higher throughputs.We note that FreeBSDv5has a higher throughput than FreeBSDv4.2.The reason for this is that the device driver for FreeBSDv5copies data more efficiently to the card than the older driver for version4.2(since there were no losses, the TCPflavor,reno vs newreno,has a smaller impact on this difference).We observe that the throughput of the iPAQ was the lowest of the three even though the TCP implementation in the iPAQ is Newreno.The reason for this behavior is that the802.11b device driver in the iPAQ copies data more slowly than the device driver in the laptop(possibly due to a poorer driver implementation but most probably due to the difference in processor speed–650MHz for the laptop versus200MHz for the iPAQ).A last comparison we performed between the three systems was a measurement of the relative costs of the radio(i.e.,the transmit and receive costs only)and the computational cost of TCP(as defined in section3).These results are shown in Figure6.As we can see,in the case of the laptop,the computational cost accounts for the majority of the total cost of the ttcp connection.Thefigures are reversed for the case of the iPAQ where the computational costs are smaller than the radio costs.Finally,note that the radio costs account for a smaller percentage in the case of a receiver.This is because the receive current draw of the802.11b card is smaller than the transmit current draw.4Also note that the same802.11b card was used in each of the three systems and,furthermore,the same laptop was used for two cases representing FreeBSDv4.2and FreeBSDv5–we simply booted with the appropriate kernel to perform the measurements.5In the studies reported in this section,i.e.,section5,we did not use the zero-copy option in FreeBSDv5.We use it later in section6.6We were unable to set the segment size to128bytes for the iPAQ and thus the graphs for the iPAQ do not show this data point.7Figure3:Total computational energy costs.5.2Computational energy cost breakdownIn this section and the next we decompose the total computational cost of TCP into its components as discussed in section 3.Recall that the computational energy can be decomposed into three primary categories:user-to-kernel copy cost,kernel-to-NIC copy cost,and TCP processing cost.The two copy costs are similar at the sender and at the receiver.However,the TCP processing cost is somewhat different.At the sender the TCP processing cost includes checksum,ACK processing, congestion window updates,timeout(TO)processing,triple duplicate(TD)processing,timer processing,RTO computa-tion,and other OS related costs.At the receiver,TCP processing includes ACK generation,checksum computation,data sequencing,receive window management,etc.In this section we decompose the TCP computational cost into the copy costs(user-to-kernel space,kernel-to-NIC)and the TCP processing cost(i.e.,TCP computational cost minus the two copy costs).We further decompose the TCP processing costs in section5.3.Data sent through a TCP socket isfirst queued in the socket send buffer and it is then copied into kernel space for further processing.In order to determine the cost of performing this copy(that we call user-to-kernel space copy),we implemented a kernel program using the copyin()and copyout()functions.We then ran this program and copied largefiles (which were composed of random data).We measured the current draw while this program was running and used this measurement to obtain the user-to-kernel copy cost.To determine the copy cost from the kernel to the NIC card,we used UDP for data transmission.Unlike TCP,data sent through a UDP socket goes all the way down to the network interface and the socket send buffer is not used.Figure7shows the relative costs(in%)at the sender of the two copy operations and TCP processing for the three systems.As thefigure shows:By far the most expensive operation is the Kernel–NIC copy cost.This accounts for between60–75%of the total cost incurred at the sender.To better understand these costs,note that the PCMCIA card is not very efficient and it takes a significant amount of time to copy the data from memory to the802.11b card.The device driver calls a copy operation for each packet resulting in an interrupt and context switch since the PCMCIA2.1specification does not allow DMA(Direct Memory Access)or bus mastering7.As a percentage of the total cost,we note that the TCP processing cost increases with a decrease in MTU size.This is explained by the fact that each packet results in the same code being executed on the output(Table1shows the 7It is noteworthy that the new CardBus cards do allow DMA and bus mastering and they run at a lower voltage(3.3V rather than5V)and allowing 32-bit operation.Thus,we expect the overall energy cost of the Kernel–NIC copy cost to be lower for these cards.However,device drivers were not available for these CardBus cards and we were unable to test them for this paper.Furthermore,there are currently very few vendors who manufacture CardBus cards for802.11b(we could only identify one vendor–D-Link).Most of the CardBus cards are targeted at the802.11a standard where greater transfer speeds are required to match the54Mbps transmission speed of the radio.8。