F****n 发帖数: 3271 | 1 大概1Million数据,但是要 Billions lookups / second级别的 (软件实现一般在M/S
级别),或者有没有人知道能不能做成ASIC, 大概速度上限。那么多人消尖脑袋弄出挖
矿的ASIC,我这个应该简单得多 |
p***o 发帖数: 1252 | 2 你去网上搜redis memcached FPGA。
S
【在 F****n 的大作中提到】 : 大概1Million数据,但是要 Billions lookups / second级别的 (软件实现一般在M/S : 级别),或者有没有人知道能不能做成ASIC, 大概速度上限。那么多人消尖脑袋弄出挖 : 矿的ASIC,我这个应该简单得多
|
d***a 发帖数: 13752 | 3 Billions lookups per second,这个应该很容易达到。现在普遍的台式机,多核处理
器的频率有几个G,内存带宽几十个GB,用几台机器并行就应该够了。保守一点,用十
几台肯定够了吧。
S
【在 F****n 的大作中提到】 : 大概1Million数据,但是要 Billions lookups / second级别的 (软件实现一般在M/S : 级别),或者有没有人知道能不能做成ASIC, 大概速度上限。那么多人消尖脑袋弄出挖 : 矿的ASIC,我这个应该简单得多
|
w********m 发帖数: 1137 | 4 redis 普通硬件可以做到200M qps
离你的需求还差一个数量级 |
h****e 发帖数: 2125 | 5 直接用array不行吗?
S
【在 F****n 的大作中提到】 : 大概1Million数据,但是要 Billions lookups / second级别的 (软件实现一般在M/S : 级别),或者有没有人知道能不能做成ASIC, 大概速度上限。那么多人消尖脑袋弄出挖 : 矿的ASIC,我这个应该简单得多
|
w********m 发帖数: 1137 | 6 目前最好的显卡
RTX 2080 Ti
Memory Bandwidth 616GB/s
Memory Size 11GB GDDR6
你的每个key + value pair 要小于 616Byte
整个hash map体积要小于11GB
如果满足的话,就不需要ASIC |
F****n 发帖数: 3271 | 7 达不到,几十个G带宽是顺续访问,hashtable是随机访问,
一般台式机内存随机访问的速度也就几百M/s
我的hashtable很小而且immutable,大概可以缩到几十个KB,所以我看看能不能砍掉内
存这一块,完全精简到ASIC上。否则就是比内存随机访问,这个有 hard limit. |
F****n 发帖数: 3271 | 8 同上,memory bandwidth是 sequential read, hash table is random read.
【在 w********m 的大作中提到】 : 目前最好的显卡 : RTX 2080 Ti : Memory Bandwidth 616GB/s : Memory Size 11GB GDDR6 : 你的每个key + value pair 要小于 616Byte : 整个hash map体积要小于11GB : 如果满足的话,就不需要ASIC
|
w********m 发帖数: 1137 | 9 你的这个跟bitcoin不一样
bitcoin只管hash()就可以了,它不需要返回。瓶颈是hash rate
你的这个是
key in --> hash() --> value out
瓶颈是内存带宽
虽然你的数据小,但hash map本身开销大,一个key value的建立开支就是100byte以上。
意味着,什么数据都没有,1billion qps就是100GBPS数据流量。只有显存扛得住。
老老实实单机并发,在1000gbps ethernet发明之前不要想多基。 |
h****e 发帖数: 2125 | 10 你的hash key能整成integer吗?能的话放到一个array里,hash value是个pointer,
lookup就是一个“&” operation,还经常在L1 cache里,暴快。
【在 F****n 的大作中提到】 : 达不到,几十个G带宽是顺续访问,hashtable是随机访问, : 一般台式机内存随机访问的速度也就几百M/s : 我的hashtable很小而且immutable,大概可以缩到几十个KB,所以我看看能不能砍掉内 : 存这一块,完全精简到ASIC上。否则就是比内存随机访问,这个有 hard limit.
|
|
|
F****n 发帖数: 3271 | 11 正是这样所以才考虑ASIC啊,我前面说过这个是 *immutable* hash table,
可以求出一个固定的 Perfect Hash Function,然后把它烧成电路,不知道可行否
单机并发和显存都太慢了,我的想法是绕过内存的电路直接 compute perfect hash
function
上。
【在 w********m 的大作中提到】 : 你的这个跟bitcoin不一样 : bitcoin只管hash()就可以了,它不需要返回。瓶颈是hash rate : 你的这个是 : key in --> hash() --> value out : 瓶颈是内存带宽 : 虽然你的数据小,但hash map本身开销大,一个key value的建立开支就是100byte以上。 : 意味着,什么数据都没有,1billion qps就是100GBPS数据流量。只有显存扛得住。 : 老老实实单机并发,在1000gbps ethernet发明之前不要想多基。
|
F****n 发帖数: 3271 | 12 还是不够快,数据读取有latency
【在 h****e 的大作中提到】 : 你的hash key能整成integer吗?能的话放到一个array里,hash value是个pointer, : lookup就是一个“&” operation,还经常在L1 cache里,暴快。
|
h****e 发帖数: 2125 | 13 你读取处理value不能放在另一个thread里面吗?如果这个远远慢于hash table lookup
,是bottle neck的话,硬件怎么能帮你呢??
【在 F****n 的大作中提到】 : 还是不够快,数据读取有latency
|
F****n 发帖数: 3271 | 14 并行处理只能千倍级的scale up,跟我想的millions级的scale up是两回事
且大家都可以并行,核心逻辑要是能快很多倍那么并行后也能快很多倍
硬件当然可以帮,看看bitcoin mining就知道了。
假设一个 immutable hash table, 1^20 (1M) keys, 1^16 (or any thing <= 1M)
values, 相当于一个 20-bit input, 16-bit output 的只包含 not, and, or gates
的circuit (也就是说没有那些复杂的加减乘除浮点运算什么的)。我的问题是,这样
一个circuit会比最快的内存读取circuit快吗?
lookup
【在 h****e 的大作中提到】 : 你读取处理value不能放在另一个thread里面吗?如果这个远远慢于hash table lookup : ,是bottle neck的话,硬件怎么能帮你呢??
|
d***a 发帖数: 13752 | 15 老兄,你把内存当硬盘了。DRAM是Dynamic random-access memory的缩写,谁告诉你
DRAM是顺续访问的?
如果你的hash table只有几十KB,那cache就装下了,和内存带宽也无关了。你想的太
多了。
定做ASIC,你准备用什么制程,又准备了多少兆资金呢?
【在 F****n 的大作中提到】 : 达不到,几十个G带宽是顺续访问,hashtable是随机访问, : 一般台式机内存随机访问的速度也就几百M/s : 我的hashtable很小而且immutable,大概可以缩到几十个KB,所以我看看能不能砍掉内 : 存这一块,完全精简到ASIC上。否则就是比内存随机访问,这个有 hard limit.
|
n******t 发帖数: 4406 | 16 你的性能指標感覺非常模糊。最開始是說billion op /sec,這是累計指標,是可以平行
擴展額,後來又似乎再說latency,這是不能平行擴展的。
你到底想要什麼?或者是你要拿這個來幹嘛?
【在 F****n 的大作中提到】 : 正是这样所以才考虑ASIC啊,我前面说过这个是 *immutable* hash table, : 可以求出一个固定的 Perfect Hash Function,然后把它烧成电路,不知道可行否 : 单机并发和显存都太慢了,我的想法是绕过内存的电路直接 compute perfect hash : function : : 上。
|
g****t 发帖数: 31659 | 17 哪里需要多少兆的资金。
FPGA转换下,毛估估,0.5-2 M足够定做几百个样品。
给我1M,半年弄好。
如果自己玩玩,几千刀也可能:
All to say: A small player could certainly design its own ASIC and have it
fabricated with nothing more than some ingenuity and a few thousand dollars.
But it wouldn’t be able to create a sophisticated design or use a state-of
-the art technology node.
----IEEE spetcrum,How to Design a New Chip on a Budget
【在 d***a 的大作中提到】 : 老兄,你把内存当硬盘了。DRAM是Dynamic random-access memory的缩写,谁告诉你 : DRAM是顺续访问的? : 如果你的hash table只有几十KB,那cache就装下了,和内存带宽也无关了。你想的太 : 多了。 : 定做ASIC,你准备用什么制程,又准备了多少兆资金呢?
|
n******t 发帖数: 4406 | 18 你真的覺得到這里來問這種事的人,會給你1M幹這事?我怎麼覺得100刀都不打算出呢。
dollars.
of
【在 g****t 的大作中提到】 : 哪里需要多少兆的资金。 : FPGA转换下,毛估估,0.5-2 M足够定做几百个样品。 : 给我1M,半年弄好。 : 如果自己玩玩,几千刀也可能: : All to say: A small player could certainly design its own ASIC and have it : fabricated with nothing more than some ingenuity and a few thousand dollars. : But it wouldn’t be able to create a sophisticated design or use a state-of : -the art technology node. : ----IEEE spetcrum,How to Design a New Chip on a Budget
|
g****t 发帖数: 31659 | 19 ASIC麻烦的是IP。自己没有IP积累做防御,没法出产品。
他这种要求,假如给我,我转手给他外包出去给有条件的小公司即可。
呢。
【在 n******t 的大作中提到】 : 你真的覺得到這里來問這種事的人,會給你1M幹這事?我怎麼覺得100刀都不打算出呢。 : : dollars. : of
|
T********i 发帖数: 2416 | 20 你需求不说清楚,只能是大家扯一些不着调的。
我帮你分析一下,第一,你要不要Host机?Host是X86机器,只能用PCI-E通信。
PCIeGen 3 x8 interface, typically used by 40Gb/s NICs, has athroughput of 62
.96 Gb/s at the physical layer. However,PCIe protocol overheads reduce the
usable bandwidth toaround 50 Gb/s.
这还是假定你大批的吞吐。access pattern很重要。你要是一个个来的话,PCI-E
latency 900ns。你每秒100万是极限。
不要Host机的话。那就是全FPGA。现在FPGA ethernet stack的IP很普遍,都没玩高频
的给玩坏了。外包出去不会很贵。这样就是100% FPGA解决方案。但是你ethernet顶多
也就40G。我是说比较容易能买到的commodity。这样你就算一下throughput呗?
别的不用操心,你这种独立的并行,FPGA搞定很容易。我就是用初中数学帮你整个方案
出来而已。 |
|
|
F****n 发帖数: 3271 | 21 谁告诉你DRAM随机访问和顺序访问一样了,大部分情况下差别大了
L3 cache bandwidth 10G/s 左右
Read this:
https://superuser.com/questions/782197/in-l1-l2-cache-and-dram-is-sequential
-access-faster-than-random-access
ASIC我准备自己做
【在 d***a 的大作中提到】 : 老兄,你把内存当硬盘了。DRAM是Dynamic random-access memory的缩写,谁告诉你 : DRAM是顺续访问的? : 如果你的hash table只有几十KB,那cache就装下了,和内存带宽也无关了。你想的太 : 多了。 : 定做ASIC,你准备用什么制程,又准备了多少兆资金呢?
|
d***a 发帖数: 13752 | 22 随你吧。顺序访问的存储设备在计算机专业有特定的含义。要做ASIC也请便。ASIC并不
难做,如果你不用先进制程,但性能也不会太好。
sequential
【在 F****n 的大作中提到】 : 谁告诉你DRAM随机访问和顺序访问一样了,大部分情况下差别大了 : L3 cache bandwidth 10G/s 左右 : Read this: : https://superuser.com/questions/782197/in-l1-l2-cache-and-dram-is-sequential : -access-faster-than-random-access : ASIC我准备自己做
|
n******t 发帖数: 4406 | 23 你想的是後面,我想的是前面。一個人是不是客戶,不光是你有沒有貨(當然也很重要
),還得看這個人想不想出錢。
我的感覺,連qps和latency都分不清楚的人,沒可能這方面能搞什麼實際的東西的。
【在 g****t 的大作中提到】 : ASIC麻烦的是IP。自己没有IP积累做防御,没法出产品。 : 他这种要求,假如给我,我转手给他外包出去给有条件的小公司即可。 : : 呢。
|
p***o 发帖数: 1252 | 24 你跟不懂硬件的解释DRAM是白费功夫。ASIC太远,先花一年拿FPGA做一个原型试试。
最近没矿可挖,NN也都转ASIC了,人估计好找一些。
sequential
【在 F****n 的大作中提到】 : 谁告诉你DRAM随机访问和顺序访问一样了,大部分情况下差别大了 : L3 cache bandwidth 10G/s 左右 : Read this: : https://superuser.com/questions/782197/in-l1-l2-cache-and-dram-is-sequential : -access-faster-than-random-access : ASIC我准备自己做
|
d***a 发帖数: 13752 | 25 呵呵,这版上半懂不懂的真多。用FGPA要搞一年,就搞个hash table,这不是瞎掰吗,
会搞的人几天就搞好了,测试包含在内。
楼主自己贴的link,他自己也没有看懂,后面一半明明说了DRAM是随机访问的内存。
& NO, ram is all fully random access, there are only tiny ammounts of
latency, it is "Ram" that a hard drive uses to do read-ahead actions, and
burst transfers at many times faster than in can be read from the platters.
Sequentiality is hugely important on hard drives because head movement takes
time and is not pulling data off the platter then. After the head arrives
at the location, it has to wait till the data comes up in the rotation.
With Hard drive read ahead it might pull data on the same rotation saving
many miliseconds of time.
楼主比较固执,概念也不清楚。几十个KB的hash table,L1 cache或L2 cache就放下了
,实际上和DRAM也没有关系。
搞ASIC,不光要做芯片,还要做板子,搞测试...真要折腾就折腾吧,也是一种人生体
验。
【在 p***o 的大作中提到】 : 你跟不懂硬件的解释DRAM是白费功夫。ASIC太远,先花一年拿FPGA做一个原型试试。 : 最近没矿可挖,NN也都转ASIC了,人估计好找一些。 : : sequential
|
w********m 发帖数: 1137 | 26 这个是个hash rate bound然后IO bound的难题
首先就是1G的hash rate。
https://www.hashrates.com/cpus/
决定了CPU就没法做
只有老魏看出来了
CPU --> GPU --> FPGA --> ASIC
按着这个路线摸索
如果做出来,1 billion qps这是了不起的成就。
发片顶刊或者做个公司一点问题没有 |