POPPUR爱换

标题: Linux支持big.LITTLE的技术内幕 [打印本页]

作者: Tempestglen    时间: 2013-1-16 21:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: raini    时间: 2013-1-16 23:07
估计楼主SB是没看懂这篇文章的意思!
作者: boris_lee    时间: 2013-1-17 11:18
楼主肯定是没看懂这篇文章的意思
作者: inblue08    时间: 2013-1-17 11:23
我也觉得是,看了半天,啥内幕啊?求lz给解释一下
作者: Tempestglen    时间: 2013-1-17 13:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: itany    时间: 2013-1-17 13:37
Tempestglen 发表于 2013-1-17 13:28
先告诉你个SB,苏联也有cpu技术。
http://sovietcpu.com

什么意思? 关苏联什么事儿啊
作者: raini    时间: 2013-1-17 13:42
本帖最后由 raini 于 2013-1-17 13:44 编辑
Tempestglen 发表于 2013-1-17 13:28
先告诉你个SB,苏联也有cpu技术。
http://sovietcpu.com

你自己喜欢秀下限当SB就自己当好了!
真不知道你个SB看懂e文没!
难道你以为e文=俄文?

再看一下这篇文章的发布日期,
感觉更加神奇了!

真的,SB中的JP一定是非你莫属!

作者: raini    时间: 2013-1-17 13:45
Tempestglen 发表于 2013-1-17 13:28
先告诉你个SB,苏联也有cpu技术。
http://sovietcpu.com

我也告诉你个秘密好了
我们国家也有CPU技术

SB中的JP
作者: Tempestglen    时间: 2013-1-17 14:06
提示: 作者被禁止或删除 内容自动屏蔽
作者: Tempestglen    时间: 2013-1-17 14:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: raini    时间: 2013-1-17 14:43
Tempestglen 发表于 2013-1-17 14:08
一个月前,我说苏联科技不如美国,但是可以用工程化来解决很大程度上的科技劣势,你这条dog反驳我说苏联没 ...

“你这条dog反驳我说苏联没有cpu技术”
操你妈的,我什么时候说过,你别把nmd幻想当做我说的话!
你他妈的百日梦发作就要住院,而且是住精神病院,
少他妈的出来装神弄鬼吓人!
你他妈的,英国的科技也不如美国,你麻痹的还啥到支持一个大学实验室出来的货?
你麻痹的,真的是一天不被骂是心理不爽了,是吧!
好,今天就特地骂骂你个SB!
自己麻痹的坟头立了一座山,麻痹的靠YY幻想战胜了一切
麻痹的就算你梦里战胜了,我们不理会你了,你个麻痹的以为现实就跟你想的一样啦?
手臂公司知道自己有几斤几两,不知道吠的凶的狗才是胆小的狗吗?
手臂cpu以前没那么受重视的时候,有吭过一声吗?
怎么现在变成会吠会凶的狗啦?
当然,在这个论坛里,也有一只有臆想症的很会吠的狗,
如果你不知道是谁,我就告诉你,就是你个狗B
作者: Tempestglen    时间: 2013-1-17 14:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: raini    时间: 2013-1-17 15:08
Tempestglen 发表于 2013-1-17 14:52
你这条dog今天又忘了打狂犬疫苗了?

怎么跟你说了多少次,你才是狗!
而且根据之前的帖子,你个SB回我的帖子就自动升级为狗B
不过我也理解你,不管你作为天顶星人,还是地球上的中国人,又或者是狗
都无法理解别人的意思!
作者: Prescott    时间: 2013-1-17 15:45
Tempestglen 发表于 2013-1-17 14:06
貌似有人对linux(ubuntu)是如何支持big little的很感兴趣,所以我贴了这个文章。

异构计算,在不同微架 ...

拿hypervisor欺骗OS?那就相当于OS泡在虚拟机里边,你自己试试虚拟机里边性能损失有多大。
拿个CPUfreq驱动就像搞定A7/A15切换?CPUfreq驱动只不过往寄存器写个值就搞定了频率切换。

要想搞定A7/A15切换,不完全重写Linux任务调度器是不可能的。这个牵扯可就大了。
作者: xx88xx88    时间: 2013-1-17 15:58
Prescott 发表于 2013-1-17 15:45
拿hypervisor欺骗OS?那就相当于OS泡在虚拟机里边,你自己试试虚拟机里边性能损失有多大。
拿个CPUfreq驱 ...

就算是写出来了,也是所有人都受益,不是ARM一家。
作者: raini    时间: 2013-1-17 16:21
Prescott 发表于 2013-1-17 15:45
拿hypervisor欺骗OS?那就相当于OS泡在虚拟机里边,你自己试试虚拟机里边性能损失有多大。
拿个CPUfreq驱 ...

这货以为随便改改就能很好地支持big.LITTLE模式了!
所以说这货根本就不懂这篇文章在写什么!
也不懂cpufreq现在在linux中的处境
作者: 颜慕回    时间: 2013-1-17 16:58
本帖最后由 颜慕回 于 2013-1-17 17:01 编辑
Prescott 发表于 2013-1-17 15:45
拿hypervisor欺骗OS?那就相当于OS泡在虚拟机里边,你自己试试虚拟机里边性能损失有多大。
拿个CPUfreq驱 ...

不是说靠CPUfreq来搞定,是说把切换开关写到内核里面,显性的调用方式是CPUfreq的一个状态值。为什么要搞成CPUfreq的一个状态值呢,是因为包括android在内的绝大多数发行版现在都理解CPUfreq,不需要另作改动。

把它当成CPUfreq的一个低频值,这只是对操作系统说的话。对硬件说的话,还是得靠拿hypervisor代码来屏蔽掉A15和A7之间的区别。这个是跑不掉的。重写一个非对称的CPU调度机制,没个三年五年是搞不下来的,而且这里涉及到的并不只是底层的内核,操作系统上层写程序很多教条也得变。

作者: G70    时间: 2013-1-17 17:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: 颜慕回    时间: 2013-1-17 18:56
G70 发表于 2013-1-17 17:55
所以事情的本质就是……因为一个傻逼级的硬件设计,要软件开发者做巨量工作去让系统适应之。

ARM真是有 ...

也没这么严重了,这个设计是做到了向前兼容的。
软件完全不作改变是可以的;直接套他那的工具改一下工作量也接近为零;或者像Linux内核这样小动一下,把他的工具针对自身特点作点集成作点改进,工作量那也不算大。

只是说从理想主义的角度来说,要完全把这个架构的所有潜力都发挥出来,必须得大动软件。但没人规定必须得发挥硬件所有潜力呀?包括对称多核,64位,也都是没发挥到“理想”状态的。那也不能说多核/64位是个傻逼架构,要开发者做海量工作去适应呀。

做这个设计的人,只要能保证在不大动软件的前提下,得到更好的性能产出,那就算是改进了。至于说如果以后这个架构大普及了,推动软件开发者去开发一个非对称的CPU调度机制来进一步发挥它的潜力,那是以后的事情。
作者: Tempestglen    时间: 2013-1-17 22:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: Prescott    时间: 2013-1-17 22:36
颜慕回 发表于 2013-1-17 16:58
不是说靠CPUfreq来搞定,是说把切换开关写到内核里面,显性的调用方式是CPUfreq的一个状态值。为什么要搞 ...

总的来说就是,要么让hypervisor层屏蔽掉硬件差异负责切换,实际OS跑在虚拟机里边,,不得不损失性能。
要么就是要大改调度器,让操作系统支持异构多核,这可不是那么容易的。
作者: Tempestglen    时间: 2013-1-17 22:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: Prescott    时间: 2013-1-17 22:54
Tempestglen 发表于 2013-1-17 22:46
你有点悲观了,假设os只知道A15存在,那么用A7就是靠虚拟化了,此时,肯定是低负载对性能要求不高的情形, ...

说实话,那么多人骂你,我现在一点都不觉得你冤枉。你知道你自己在说什么吗?

谁再胡说什么“我并不同意你的观点,但是我誓死捍卫你说话的权利”这种白痴言论,我一口唾在他脸上。
作者: Tempestglen    时间: 2013-1-17 22:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: itany    时间: 2013-1-17 22:58
本帖最后由 itany 于 2013-1-17 23:00 编辑
Tempestglen 发表于 2013-1-17 22:46
你有点悲观了,假设os只知道A15存在,那么用A7就是靠虚拟化了,此时,肯定是低负载对性能要求不高的情形 ...

正常点好不? 整个虚拟机是凌驾在所有核心之上的,您扯什么A7虚拟A15本来就是很二的行为。

去看看Intel搞VT的时候做了啥。
别的不说,单单OS在核态和用户态之间切换就不是Arm这点资源能应付得来的。
更别说Arm那孱弱的内存访问能经得起虚拟化的消耗了。

linux也许是能够支持,但是就这种支持的方式,其实就是能点亮系统而已
性能如何,显然就算了吧

作者: itany    时间: 2013-1-17 23:02
Tempestglen 发表于 2013-1-17 22:57
我还真是那种别人越骂越来劲那种人。别人的每一次反对,都是我进一步向前走的推动力。

如果明天有10倍 ...

您还真是那种别人越说屎不好吃越吃得来劲那种人。
别人的每一次反对,都是您进一步吃更多的推动力。

如果明天有10倍的人说屎不好吃,您就有干劲吃10倍屎和他们战!
作者: Tempestglen    时间: 2013-1-17 23:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: itany    时间: 2013-1-17 23:21
Tempestglen 发表于 2013-1-17 23:09
We can implement this switcher by modeling its functionality as a CPU speed change, and therefore ex ...

我们尊重Linux核心的作者,也尊重他们为了Arm挖的坑填土的工作。但是我认为您来解读是对作者的侮辱,也是对linux社区的侮辱,而这种xx粉的存在时不时冒出xx语来本来就是对Arm的侮辱。

请搞清楚psedo是啥意思……
本来内核能够在异构CPU上运行,切换效率就已经令人担忧了;现在Arm自己又增加了一个虚拟层,进一步劣化了性能。如果您还有一点残留的智力,就应该希望Android上边不要搞这种,否则……
作者: Tempestglen    时间: 2013-1-17 23:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: itany    时间: 2013-1-17 23:27
Tempestglen 发表于 2013-1-17 23:23
不好意思,三星的工程师,arm工程师,linux内核修订者,貌似没你说的那么蠢。

和AMD、Cyrix的工程师相比呢?

他们是不是蠢暂且不讨论,但是您理解不了他们的文档,随便说些xx话,只能证明您x,这个和他们无关。不要用他们来当您自己的挡箭牌
作者: Tempestglen    时间: 2013-1-17 23:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: itany    时间: 2013-1-17 23:31
Tempestglen 发表于 2013-1-17 23:23
不好意思,三星的工程师,arm工程师,linux内核修订者,貌似没你说的那么蠢。一个芯片设计二流国家的论 ...

不知道您一个自称国企搞机械的,随便把NV和高通等打入伪军废材的行列,您有这个资格么?
现在又大言不惭的出来扯淡,真是xx厚吃个够,尽管别人都说屎不好吃
作者: itany    时间: 2013-1-17 23:36
Tempestglen 发表于 2013-1-17 23:31
他们的文档我觉得很有道理,可以理解。倒是你们这帮"专业人士"大有一种众人皆醉我独醒的架势,不断嘲笑 ...

呵呵,我和Prescott大等专业人士是比不了,我上论坛也本着向牛人学习的态度。
我是设计不了CPU,但是不妨碍我提前就知道为啥AMD家的推土机单线程性能会下降。只要有组成原理和体系结构基本知识的人,加上一个独立思考的态度就可以。
说实话论坛里边你自认为“黑”Arm的人对Arm的了解恐怕比你深得多。

之所以你胡扯之后别人要反对,要揭穿,一个是为了防止新来的小白被你坑害,另一个就是还试图治病救人,让你稍微正常些,下半生不至于一直这样悲剧。
您一意孤行,吃亏的还是你自己
作者: Tempestglen    时间: 2013-1-17 23:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: raini    时间: 2013-1-18 00:21
Tempestglen 发表于 2013-1-17 22:46
你有点悲观了,假设os只知道A15存在,那么用A7就是靠虚拟化了,此时,肯定是低负载对性能要求不高的情形 ...

"假设os只知道A15存在,那么用A7就是靠虚拟化了,此时,肯定是低负载对性能要求不高的情形,就是有性能损失又能咋地?"
这特么弱智的话也敢说出来?
OS只知道A15的存在?你tmd有点逻辑行吗?在实际中,A15是为了应付突发的高负载要求,大部分时间都是低负载的情况,需要靠A7维持。你麻痹的哪个OS会跟你一样SB到觉得经常用到的A7是不存在的而偶尔用一下的A15是存在的?big.LITTLE里,你以为主导的是A15吗?
逻辑都搞不清楚的货!你怎么不幻想OS把A15当成i7呢?彻底实现了高性能低功耗,有木有!
另外你知道什么是虚拟化了吗?靠A7?笑死人了!你SB,人家ARM和三木爽是不会SB的!

“并不是完全异构的东西”
不完全异构的东西不等于同构,还是异构!SB是不是觉得ARM的核心都是同构的?

“虚拟化得性能损失和通常意义的虚拟机性能损失是不是等量齐观的?”
虚拟化和异构,完全是两个概念!概念不清的货,也来等量齐观!观你妈个头!异构导致线程切换就造成了性能损失,还要在虚拟化的基础上完成异构?你麻痹的性能多到来用不掉,是不是?
作者: raini    时间: 2013-1-18 00:23
itany 发表于 2013-1-17 23:21
我们尊重Linux核心的作者,也尊重他们为了Arm挖的坑填土的工作。但是我认为您来解读是对作者的侮辱,也是 ...

android还要加虚拟层?还嫌jvm虚拟的不够?omg
作者: raini    时间: 2013-1-18 00:25
Tempestglen 发表于 2013-1-17 23:23
不好意思,三星的工程师,arm工程师,linux内核修订者,貌似没你说的那么蠢。一个芯片设计二流国家的论 ...

“挑战观众的智商嘛”
所以你秀下限,是以一个国企机械设计师来挑战芯片设计二流国家的专业人员啦?
根本不用观众,就你那智商,路过的人都知道谁说的p话!
作者: wuhao911    时间: 2013-1-18 00:27
Tempestglen 发表于 2013-1-17 23:31
他们的文档我觉得很有道理,可以理解。倒是你们这帮"专业人士"大有一种众人皆醉我独醒的架势,不断嘲笑 ...

同学,您看懂这篇文档了么,t神您的英文水平......,上次让自己贴的文档抽了自己一个大嘴巴的是哪位神仙啊?

作者: wuhao911    时间: 2013-1-18 00:29
Tempestglen 发表于 2013-1-17 22:57
我还真是那种别人越骂越来劲那种人。别人的每一次反对,都是我进一步向前走的推动力。

如果明天有10倍 ...

嗯,直说吧,您这种人我们一般称之为贱。是不是当面给你一大嘴巴您得高兴的晕过去?
作者: raini    时间: 2013-1-18 00:30
Tempestglen 发表于 2013-1-17 22:23
说的没错,只不过有个问题需要讨论,在arm的管理软件模式/cluster模式下,由于os只知道A15,那么需要一个 ...

这智商已经低到让人无法相信了!下破表了!
作者: raini    时间: 2013-1-18 00:36
Tempestglen 发表于 2013-1-17 23:09
We can implement this switcher by modeling its functionality as a CPU speed change, and therefore ex ...

“我的理解就是,干脆把一个A7和一个A15当作一个大的物理核心算了,大不了内部有冗余、有浪费、有重复,当负荷低的时候关闭大部分电路(A15电路),只剩小部分电路(A7电路)在工作。这哪里是什么异构计算,分明是同构”

真的,跟这种靠幻想过日子的SB已经无话可说了,狠狠骂回去也许能有点用!
作者: the_god_of_pig    时间: 2013-1-18 07:12
你们跟文盲讲原理他能明白吗

他的套路就是瞎看几个文档然后就跳出来装懂行,被踢翻了就自戳双目装瞎逃跑,然后yy别人也和他一样是文盲

跟这种不要脸的货色没什么理可讲,抽就是了
作者: divx001    时间: 2013-1-18 09:01
这个线程调度器光系统支持有啥用,需要APP配合才行。
作者: YsMilan    时间: 2013-1-18 09:20
Tempestglen 发表于 2013-1-17 22:46
你有点悲观了,假设os只知道A15存在,那么用A7就是靠虚拟化了,此时,肯定是低负载对性能要求不高的情形 ...

T神啊,越来越觉得图灵奖没颁发给你真是有黑幕啊
超越人类计算机的概念对你来说可是层出无穷张口就来啊
作者: YsMilan    时间: 2013-1-18 09:29
本帖最后由 YsMilan 于 2013-1-18 09:34 编辑
Tempestglen 发表于 2013-1-17 23:23
不好意思,三星的工程师,arm工程师,linux内核修订者,貌似没你说的那么蠢。一个芯片设计二流国家的论 ...

嗯,我只怀疑三星的工程师,arm工程师,linux内核修订者们如果看见您的大论会不会来找您拼命呢
这就相当于你看了陈景润证明的1+2,然后发表一篇大论:桌子上有1个桔子,再放上去2个,现在桌上有3个桔子云云...
别人指出你理解是错误的,你再来说:不好意思,陈景润貌似没你说的那么蠢...明明就是有3个桔子嘛
作者: raini    时间: 2013-1-18 09:32
本帖最后由 raini 于 2013-1-18 09:33 编辑
YsMilan 发表于 2013-1-18 09:29
嗯,我只怀疑三星的工程师,arm工程师,linux内核修订者们如果看见您的大论会不会来找您拼命呢
...

扯东扯西是他最大的本事!
自己智商有限,理解不了或者理解错别人的意思,
就那原作者来当挡箭牌。
其实他就把自己当做是ARM、三木爽和Linux的工作人员,
不过就是个芯片二流国家的机械设计师而已!

作者: itany    时间: 2013-1-18 09:34
raini 发表于 2013-1-18 00:23
android还要加虚拟层?还嫌jvm虚拟的不够?omg

OS的调度层能应付非对称CPU才能正常点亮系统。如果应付不了,用虚拟层点亮系统是变通的方式。
关键是,一切的根本在于要点亮系统。
如果点亮都没办法,还谈什么性能呢
作者: raini    时间: 2013-1-18 09:38
itany 发表于 2013-1-18 09:34
OS的调度层能应付非对称CPU才能正常点亮系统。如果应付不了,用虚拟层点亮系统是变通的方式。
关键是,一 ...

当然这种是现在的权益之计,
能在少量修改软件的基础上,
实现对big.LITTLE的支持。
现在看来,对big.LITTLE更加悲观了,
硬件和软件现在都没准备好!
big.LITTLE越来越向LITTLE端倾斜了!
作者: 颜慕回    时间: 2013-1-18 22:29
本帖最后由 颜慕回 于 2013-1-18 22:53 编辑
Tempestglen 发表于 2013-1-17 22:23
说的没错,只不过有个问题需要讨论,在arm的管理软件模式/cluster模式下,由于os只知道A15,那么需要一个 ...

Linux内核当然知道下边运行的是A15还是A7,切换运行状态的指令本来就是他发出的。
问题不在这个,而在于,他没法在分配指令上作出差异调度,因为他的整个自动调度指令的机制,就是设计成对称分配的。他能知道下边CPU具体差异的存在,但他在分配指令时,只能假设成是没有差异的。

就拿传统的情况说吧,假设一个对称四核的CPU,其中一个核心负载很低,Linux内核统计到了负载情况,发出指令让它降频节能了。然后来了新的任务需要分配,理想化的情况,当然给已经降频的那个核差别对待,把任务优先分配给尚未降频的那三个核,以防把降频的那个核频率再拉升起来,带来功耗和性能上(切换频率需要时间)的损失。然而这是做不到的,内核没法差别对待,只能假设四个核是一样的,照旧对称分配任务(结果就是很可能把那个核频率再拉起来)。

再说A7和A15的情况,我不太清楚它们存在哪些具体差异,核心切换的时间要多长,指令转换的代价有多大之类。但是,可以肯定不管怎么切换,在调度指令这件事情上,是不能指望内核区别对待的。


作者: westlee    时间: 2013-1-20 10:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: acqwer    时间: 2013-1-20 10:22
westlee 发表于 2013-1-20 10:13
因此,ARM声称,一次切换的时间损失在频率为1GHz的时候大约只有20微秒,这足以让两组CPU在一秒内切换1000次 ...

L2的数据同步就可以了,虽然很费电。不过最靠谱的还是白名单,打开某些应用的时候直接切换,不管什么占用率——和华为的GPU一样。
作者: itany    时间: 2013-1-20 13:29
westlee 发表于 2013-1-20 10:13
因此,ARM声称,一次切换的时间损失在频率为1GHz的时候大约只有20微秒,这足以让两组CPU在一秒内切换1000次 ...

20μs只是包括迁移程序状态的时间吧,貌似不包括因为缓存、分支预测、指令预读中历史记录清空造成的损失。但是这种损失对于用户操作来说,并不是不可以接受的,毕竟Windows之前线程也是在CPU的核心中飘来飘去的,对于个人用户也并不是不能接收

L2缓存可以采用嗅探(snoop)的方式来进行同步,本来多核心系统就是要同步的。只不过为了保证能够迁移,所以CPU核心关闭的时候缓存还是要运行,这种功耗浪费是比较严重的。而且,8个核心,对于CPU里边的交换单元压力比较大。Intel和AMD都没有搞过8核心的这种东西。我觉得,Arm恐怕不见得能搞好




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4