Lower bounds on information transfer in distributed computations

H. Abelson
{"title":"Lower bounds on information transfer in distributed computations","authors":"H. Abelson","doi":"10.1145/322186.322200","DOIUrl":null,"url":null,"abstract":"We derive a lower bound on the interprocessor information transfer required for computing a function in a distributed network configuration. The bound is expressed in terms of the function's derivatives, and we use it to exhibit functions whose computation requires a great deal of interprocess communication. As a sample application, we give lower bounds on information transfer in the distributed computation of some typical matrix operations. Traditional measures of computational complexity, such as the number of primitive operations or memory cells required to compute functions, do not form an adequate framework for assessing the complexity of computations carried out in distributed networks. Even in the relatively straightforward situation of memoryless processors arranged in highly structured configurations, Gentleman [4] has demonstrated that data movement, rather than arithmetic operations, can often be the significant factor in the performance of parallel computations. And for the more general kinds of distributed processing, involving arbitrary network configurations and distributed data bases, the situation is correspondingly more complex. This paper addresses the problem of measuring computational complexity in terms of the interprocess communication required when a computation is distributed among a number of processors. More precisely, we model the distributed computation of functions which depend upon large amounts of data by assuming that the data is partitioned into disjoint subsets, and that a processor is assigned to each subset. Each processor (which we can think of as a node in a computational network) computes some values based on its own \"local\" data, and transmits these values to other processors, which are able to use them in subsequent local comutations. This \"compute locally and share information\" procedure is repeated over and over until finally some (predetermined) processor outputs the value of the desired function. In measuring the complexity of such computations we will be concerned, not with the individual local computations, but rather with the total information transfer, i.e., the total number of values which must be transmitted between processors. We derive a lower bound on the total information transfer required for computing a function in a distributed network. The bound is expressed in terms of the function's derivatives, and we use it to exhibit functions whose computation requires a great deal of interprocess communicaion. As a sample application, we give lower bounds on information transfer in the distributed computation of some typical matrix operations.","PeriodicalId":346837,"journal":{"name":"19th Annual Symposium on Foundations of Computer Science (sfcs 1978)","volume":"21 Suppl 1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1978-10-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"132","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"19th Annual Symposium on Foundations of Computer Science (sfcs 1978)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/322186.322200","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 132

Abstract

We derive a lower bound on the interprocessor information transfer required for computing a function in a distributed network configuration. The bound is expressed in terms of the function's derivatives, and we use it to exhibit functions whose computation requires a great deal of interprocess communication. As a sample application, we give lower bounds on information transfer in the distributed computation of some typical matrix operations. Traditional measures of computational complexity, such as the number of primitive operations or memory cells required to compute functions, do not form an adequate framework for assessing the complexity of computations carried out in distributed networks. Even in the relatively straightforward situation of memoryless processors arranged in highly structured configurations, Gentleman [4] has demonstrated that data movement, rather than arithmetic operations, can often be the significant factor in the performance of parallel computations. And for the more general kinds of distributed processing, involving arbitrary network configurations and distributed data bases, the situation is correspondingly more complex. This paper addresses the problem of measuring computational complexity in terms of the interprocess communication required when a computation is distributed among a number of processors. More precisely, we model the distributed computation of functions which depend upon large amounts of data by assuming that the data is partitioned into disjoint subsets, and that a processor is assigned to each subset. Each processor (which we can think of as a node in a computational network) computes some values based on its own "local" data, and transmits these values to other processors, which are able to use them in subsequent local comutations. This "compute locally and share information" procedure is repeated over and over until finally some (predetermined) processor outputs the value of the desired function. In measuring the complexity of such computations we will be concerned, not with the individual local computations, but rather with the total information transfer, i.e., the total number of values which must be transmitted between processors. We derive a lower bound on the total information transfer required for computing a function in a distributed network. The bound is expressed in terms of the function's derivatives, and we use it to exhibit functions whose computation requires a great deal of interprocess communicaion. As a sample application, we give lower bounds on information transfer in the distributed computation of some typical matrix operations.
分布式计算中信息传递的下界
我们推导了在分布式网络配置中计算函数所需的处理器间信息传输的下界。边界用函数的导数来表示,我们用它来展示计算需要大量进程间通信的函数。作为示例应用,给出了一些典型矩阵运算分布式计算中信息传递的下界。计算复杂性的传统度量,例如计算函数所需的基本操作或存储单元的数量,并不能形成评估分布式网络中执行的计算复杂性的适当框架。即使在无内存处理器以高度结构化配置的相对简单的情况下,Gentleman[4]也证明了数据移动,而不是算术运算,通常可以成为并行计算性能的重要因素。对于涉及任意网络配置和分布式数据库的更一般类型的分布式处理,情况相应地更加复杂。本文从计算在多个处理器之间分布时所需的进程间通信的角度来解决测量计算复杂性的问题。更准确地说,我们通过假设数据被划分为不相交的子集,并为每个子集分配一个处理器,来模拟依赖于大量数据的函数的分布式计算。每个处理器(我们可以将其视为计算网络中的一个节点)根据自己的“本地”数据计算一些值,并将这些值传输给其他处理器,这些处理器可以在随后的本地计算中使用它们。这种“本地计算并共享信息”的过程反复重复,直到最后某个(预定的)处理器输出所需函数的值。在测量这种计算的复杂性时,我们将关注的不是单个的局部计算,而是总的信息传输,即必须在处理器之间传输的值的总数。我们推导了分布式网络中计算一个函数所需的总信息传输的下界。边界用函数的导数来表示,我们用它来展示计算需要大量进程间通信的函数。作为示例应用,给出了一些典型矩阵运算分布式计算中信息传递的下界。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信