FPGA 延时和 吞吐率 Latency versus Throughput
来源:互联网 发布:java创建日志文件 编辑:程序博客网 时间:2024/05/22 01:49
Understanding Latency versus Throughput
The purpose of this post is to clarify two "systems" terms that are usually confused and sometimes used interchangeably: latency and throughput.
Definition of terms
Let us attempt to define those two terms:
Latency is the time required to perform some action or to produce some result. Latency is measured in units of time -- hours, minutes, seconds, nanoseconds or clock periods.
Throughput is the number of such actions executed or results produced per unit of time. This is measured in units of whatever is being produced (cars, motorcycles, I/O samples, memory words, iterations) per unit of time. The term "memory bandwidth" is sometimes used to specify the throughput of memory systems.
A simple example
The following manufacturing example should clarify these two concepts:
An assembly line is manufacturing cars. It takes eight hours to manufacture a car and that the factory produces one hundred and twenty cars per day.
The latency is: 8 hours.
The throughput is: 120 cars / day or 5 cars / hour.
A design example
Now that these two concepts are clear, let us apply these concepts to a problem "closer to home."
A designer is given the task to create hardware for a communications device that has the following characteristics:Clock frequency: 100MHz
Time available to perform the computation: 1000ns
Throughput of the device: 640 Mbits / second
Word width of each output: 64 bits
Let us translate these requirements into latency and throughput measurements that are more meaningful from the point of view of the hardware designer.
Latency: 1000 ns = 1000 ns * (1 s / 10^9 ns ) * ( 100 * 10^6 clock periods/ 1s) = 10^11/10^9 = 100 clock periods.
Throughput = 640 Mbits / s = (640 * 10^6 bits/s) * (1 word / 64 bits) * ( 1 s / 100 * 10^6 clock periods) = 640 * 10^6 / 64 * 100 * 10^6 = 10 * 10 / 100 = 1 / 10 = 0.1 words / clock period.
The throughput could be read more conveniently as follows: "one word every 10 clock periods"
Latency expressed in clock periods, and throughput expressed in number of available clock cycles between words, are parameters that a designer can use to create the desired hardware according to the performance specifications.
A final clarification
Some tools do not express the throughput in units per unit of time but in clock periods. This is incorrect but commonly used because of convenience. Therefore some tools would report the throughput of our communication algorithm as 10.
This Team ESL posting is provided by Dr. Sergio Ramirez, Sr Staff Product Engineer for the C-to-Silicon Compiler high level synthesis product.
- FPGA 延时和 吞吐率 Latency versus Throughput
- 理解Latency和Throughput
- Throughput 吞吐量 和 latency 延迟
- Dissecting Message Queues(不同消息中间件Throughput和latency
- Shuffle Latency and throughput 对比
- Little's Law: Latency & Throughput
- 流水线和吞吐率
- FLOPS和吞吐率
- 吞吐率和压力测试
- 数组和延时在fpga中使用
- FPGA超声相控延时算法和相位延时技术
- Optimizing Linux Memory Management for Low-latency / High-throughput Databases
- 吞吐量(throughput)与延迟(latency)的理解
- 对吞吐量和吞吐率的理解
- 吞吐率和带宽的区别
- Performance Testing – Response vs. Latency vs. Throughput vs. Load vs. Scalability vs. Stress vs. Ro
- LR结果分析——TPS和吞吐率
- LR结果分析— TPS和吞吐率
- c++ 简单多线程实例
- Leetcode 207. Course Schedule 210. Course Schedule II
- RabbitMQ Server 环境配置中的一些坑
- 使用Parity建立Proof-of-Authority (PoA) Ethereum Chain5分钟快速从无到有建立Ethereum联盟链
- mybatis + DB2数据库常见报错:jdbc type 0 not yet supported
- FPGA 延时和 吞吐率 Latency versus Throughput
- 【Hibernate】hql小结
- POJ 1573 Robot Motion (模拟)
- POJ 2376 Cleaning Shifts 区间贪心
- 自定义圆形头像CirclemageView
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。时间复杂度都是O(1)
- 抛开 React 学习 React(2)
- 如何查看新买手机是否翻新机?
- Kaggle项目Digit Recognizer实现(一):三层卷积神经网络