da医学上是什么意思| 好事将近是什么意思| 什么魂什么魄| 艾滋病阴性是什么意思| 筋是什么组织| 朱砂痣什么意思| 血管瘤是什么症状| 九月三日是什么日子| 尿液有泡沫是什么原因| 焦急的什么| 痔疮为什么不建议手术| 一什么一什么词语| 月经一个月来两次是什么原因| 帛字五行属什么| 什么是树莓| 蛇鼠一窝是什么生肖| 舌尖痛什么原因| 正师级是什么军衔| 丑时是什么时候| 孕妇手麻是什么原因引起的| 好运是什么生肖| 手机NFC什么意思| 唵嘛呢叭咪吽什么意思| 缅怀什么意思| acca是什么专业| 什么是处方药和非处方药| 腿肿脚肿是什么原因引起的| 又拉肚子又呕吐是什么原因| 阴虱是什么样子图片| 发烧头痛吃什么药| 痔疮出血吃什么药| 维生素c对身体有什么好处| 什么是静电| 送对象什么礼物好| 久负盛名的负是什么意思| 小鱼缸适合养什么鱼| 除外是什么意思| 星链是什么| 眼睛经常有眼屎是什么原因| 脂肪肝吃什么好| 儿童肠胃感冒吃什么药效果好| 炝锅是什么意思| 洗漱是什么意思| 爸爸的姐姐应该叫什么| 阴道变黑是什么原因| pct是什么意思| 感冒没胃口吃什么好| 什么是血栓| 马与什么属相相克相冲| 脑瘤到什么程度才会死| p代表什么意思| 什么花可以吃| 为什么喜欢你| 暗合是什么意思| 清洁度二度是什么意思| 不速之客的速是什么意思| 药敏试验是什么意思| 什么是卡路里| 历久弥新什么意思| 利水渗湿是什么意思| 新陈代谢慢吃什么药| 十八罗汉分别叫什么| 声音有磁性是什么意思| 真丝乔其纱是什么面料| 转隶是什么意思| 中药一剂是什么意思| 长高吃什么| 念珠菌是什么病| 舌尖痛什么原因| 纯色是什么颜色| 淫羊藿治什么病| 小便不舒服吃什么药| 什么的草坪| 雪菊有什么功效| 过刚易折什么意思| 湿气重可以吃什么水果| 衣冠禽兽指什么生肖| 7月22号是什么日子| 变质是什么意思| 扮猪吃老虎什么意思| ein是什么意思| 小暑是什么| 什么是钓鱼网站| 地支是什么意思| 儿童扁桃体发炎吃什么药| 歆是什么意思| 吃什么愈合伤口恢复最快| 肾结石有什么症状| 鹿柴什么意思| 什么什么的眼睛| 什么是烤瓷牙| 鱼加完念什么| 10个油是什么意思| 公立医院和私立医院有什么区别| 梦到生儿子有什么预兆| 91年属什么生肖| 面部痉挛吃什么药| 打饱嗝吃什么药| 什么样的人死后还会出现| 总胆固醇高吃什么药| 女人的逼是什么意思| 喉镜能检查出什么病| gr是什么| 克罗恩病是什么病| ed病毒是什么| 早上空腹干呕什么原因| 角质层是什么| 难于上青天是什么意思| 思念到极致是什么感觉| 猪拉稀用什么药最快| 里长是什么官| 叶子像什么| 什么是色弱| 星星为什么会眨眼| 平均血小板体积偏低是什么原因| 胚由什么发育而来| 中风什么症状| 大力念什么| 地牛是什么| 什么人不能吃石斛| 鹏字五行属什么| 血压高什么原因引起的| 雨花斋靠什么盈利| design是什么牌子| 杏仁有什么功效和作用| 冰是什么意思| 23岁属什么| 什么是善良| 无私是什么意思| 为什么人一瘦就会漂亮| 前列腺炎是什么引起的| 我国最早的中医学专著是什么| 玫瑰糠疹用什么药| 软开是什么| a和b生的孩子是什么血型| 软脚虾是什么意思| 紫外线过敏什么症状| 做梦梦到捡钱是什么征兆| 痔疮的初期症状是什么| 生二胎需要什么手续| 甲状腺素低吃什么能补| 美国白宫是干什么的| 终止是什么意思| 念珠菌性阴道炎用什么药| 面部神经挂什么科| 1979年属什么| 什么弟什么兄| 17楼五行属什么| 什么食物补锌| 低蛋白血症吃什么最快| 男人为什么喜欢舔女人下面| 笔记本电脑什么品牌好| 开救护车需要什么驾照| 秦五行属什么| 什么味道| 腹腔多发淋巴结是什么意思| 陕西的特产有什么| 脸上痒是什么原因| 黄瓜敷脸有什么作用与功效| 黄金果是什么水果| 6月12日什么星座| 长白班什么意思| 杨紫属什么生肖| 蓝本是什么意思| ab型和a型生的孩子是什么血型| 脾肾气虚的症状是什么| 乳腺囊性结节是什么意思| 户别是什么| leysen是什么牌子| 什么肉不含嘌呤| 胸腺癌早期有什么症状| 淘宝交易关闭是什么意思| 天德是什么意思| 1978属什么| 享受低保需要什么条件| 杜甫的号是什么| 女人吃什么对卵巢和子宫好| 酱油是什么时候发明的| cco是什么意思| 王京读什么| 肝s4钙化灶是什么意思| 来大姨妈吃什么对身体好| 男人睡觉流口水是什么原因| 男士睾丸疼是什么原因| 长痔疮有什么症状| 神经性头疼是什么原因造成的| 请佛像回家有什么讲究| 胆红素偏高有什么危害| 孕酮低吃什么药| 吃什么调节内分泌最快| 糖尿病人适合吃什么水果| 一到晚上就咳嗽是什么原因| 大肝功能是检查什么| em是什么意思| 淡盐水是什么水| 射进去什么感觉| 猫不能吃什么东西| mva是什么单位| 悼念是什么意思| 130是什么意思| 心悸是什么| 反手引体向上练什么肌肉| 猫薄荷是什么| 什么心丧气| 准备的近义词是什么| 丁克是什么意思| 恳谈会是什么意思| 聋哑人为什么不会说话| 男性尿很黄是什么原因| 过氧化氢浓度阳性是什么意思| 新加坡为什么说中文| 每日家情思睡昏昏什么意思| 急性咽喉炎吃什么药| 血糖高一日三餐吃什么东西最适合| 直接胆红素偏高是什么原因| 一个小时尿一次是什么原因| 老上火是什么原因造成的| 帽子丢了有什么预兆| 什么是冬虫夏草| 手抽筋吃什么药| 脐炎用什么药| pku是什么意思| 什么药可以延长性功能| 晚上11点多是什么时辰| 啾啾是什么意思| singing是什么意思| 84年是什么命| 新是什么意思| 赧然是什么意思| 照见五蕴皆空什么意思| 什么情况下需要会诊| 气血虚吃什么好| 双性是什么意思| 肚子疼是什么病| 小ck是什么牌子| 维生素b族为什么不能晚上吃| 山西人喜欢吃什么| 拼图用什么软件| 用什么拖地最干净| 离心是什么意思| 全青皮是什么皮| 1月14日什么星座| 磨牙挂什么科| 什么耳朵| 胃酸反流是什么原因造成| 女人出汗多是什么原因| 收尾是什么意思| 为什么乳头会有白色分泌物| 古怪是什么意思| 布洛芬起什么作用| 感冒发烧能吃什么水果| 结肠炎是什么原因引起的| 天丝是什么成分| 血脉是什么意思| 喝酒前吃什么不容易醉| 什么睡姿有助于丰胸| 麻子是什么意思| 忧郁症挂什么科| 人生苦短什么意思| 鸡胸挂什么科| 为什么哭会流鼻涕| 狗不能吃什么东西| 黑枸杞和红枸杞有什么区别| 什么是2B铅笔| 百度Jump to content

《八十七神仙卷》领衔罕见珍品方阵

From Wikipedia, the free encyclopedia
Diagram of a symmetric multiprocessing system
百度   在强化一线监管的同时,上交所也十分重视规范自律监管程序,通过听证、复核等机制加强对监管对象合法权益保护。

Symmetric multiprocessing or shared-memory multiprocessing[1] (SMP) involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all input and output devices, and are controlled by a single operating system instance that treats all processors equally, reserving none for special purposes. Most multiprocessor systems today use an SMP architecture. In the case of multi-core processors, the SMP architecture applies to the cores, treating them as separate processors.

Professor John D. Kubiatowicz considers traditionally SMP systems to contain processors without caches.[2] Culler and Pal-Singh in their 1998 book "Parallel Computer Architecture: A Hardware/Software Approach" mention: "The term SMP is widely used but causes a bit of confusion. [...] The more precise description of what is intended by SMP is a shared memory multiprocessor where the cost of accessing a memory location is the same for all processors; that is, it has uniform access costs when the access actually is to memory. If the location is cached, the access will be faster, but cache access times and memory access times are the same on all processors."[3]

SMP systems are tightly coupled multiprocessor systems with a pool of homogeneous processors running independently of each other. Each processor, executing different programs and working on different sets of data, has the capability of sharing common resources (memory, I/O device, interrupt system and so on) that are connected using a system bus or a crossbar.

Design

[edit]

SMP systems have centralized shared memory called main memory (MM) operating under a single operating system with two or more homogeneous processors. Usually each processor has an associated private high-speed memory known as cache memory (or cache) to speed up the main memory data access and to reduce the system bus traffic.

Processors may be interconnected using buses, crossbar switches or on-chip mesh networks. The bottleneck in the scalability of SMP using buses or crossbar switches is the bandwidth and power consumption of the interconnect among the various processors, the memory, and the disk arrays. Mesh architectures avoid these bottlenecks, and provide nearly linear scalability to much higher processor counts at the sacrifice of programmability:

Serious programming challenges remain with this kind of architecture because it requires two distinct modes of programming; one for the CPUs themselves and one for the interconnect between the CPUs. A single programming language would have to be able to not only partition the workload, but also comprehend the memory locality, which is severe in a mesh-based architecture.[4]

SMP systems allow any processor to work on any task no matter where the data for that task is located in memory, provided that each task in the system is not in execution on two or more processors at the same time. With proper operating system support, SMP systems can easily move tasks between processors to balance the workload efficiently.

History

[edit]

The earliest production system with multiple identical processors was the Burroughs B5000, which was functional around 1961. However at run-time this was asymmetric, with one processor restricted to application programs while the other processor mainly handled the operating system and hardware interrupts. The Burroughs D825 first implemented SMP in 1962.[5][6]

IBM offered dual-processor computer systems based on its System/360 Model 65 and the closely related Model 67[7] and 67–2.[8] The operating systems that ran on these machines were OS/360 M65MP[9] and TSS/360. Other software developed at universities, notably the Michigan Terminal System (MTS), used both CPUs. Both processors could access data channels and initiate I/O. In OS/360 M65MP, peripherals could generally be attached to either processor since the operating system kernel ran on both processors (though with a "big lock" around the I/O handler).[10] The MTS supervisor (UMMPS) has the ability to run on both CPUs of the IBM System/360 model 67–2. Supervisor locks were small and used to protect individual common data structures that might be accessed simultaneously from either CPU.[11]

Other mainframes that supported SMP included the UNIVAC 1108 II, released in 1965, which supported up to three CPUs, and the GE-635 and GE-645,[12][13] although GECOS on multiprocessor GE-635 systems ran in a master-slave asymmetric fashion, unlike Multics on multiprocessor GE-645 systems, which ran in a symmetric fashion.[14]

Starting with its version 7.0 (1972), Digital Equipment Corporation's operating system TOPS-10 implemented the SMP feature, the earliest system running SMP was the DECSystem 1077 dual KI10 processor system.[15] Later KL10 system could aggregate up to 8 CPUs in a SMP manner. In contrast, DECs first multi-processor VAX system, the VAX-11/782, was asymmetric,[16] but later VAX multiprocessor systems were SMP.[17]

Early commercial Unix SMP implementations included the Sequent Computer Systems Balance 8000 (released in 1984) and Balance 21000 (released in 1986).[18] Both models were based on 10 MHz National Semiconductor NS32032 processors, each with a small write-through cache connected to a common memory to form a shared memory system. Another early commercial Unix SMP implementation was the NUMA based Honeywell Information Systems Italy XPS-100 designed by Dan Gielan of VAST Corporation in 1985. Its design supported up to 14 processors, but due to electrical limitations, the largest marketed version was a dual processor system. The operating system was derived and ported by VAST Corporation from AT&T 3B20 Unix SysVr3 code used internally within AT&T.

Earlier non-commercial multiprocessing UNIX ports existed, including a port named MUNIX created at the Naval Postgraduate School by 1975.[19]

Uses

[edit]

Time-sharing and server systems can often use SMP without changes to applications, as they may have multiple processes running in parallel, and a system with more than one process running can run different processes on different processors.

On personal computers, SMP is less useful for applications that have not been modified. If the system rarely runs more than one process at a time, SMP is useful only for applications that have been modified for multithreaded (multitasked) processing. Custom-programmed software can be written or modified to use multiple threads, so that it can make use of multiple processors.

Multithreaded programs can also be used in time-sharing and server systems that support multithreading, allowing them to make more use of multiple processors.

Advantages/disadvantages

[edit]

In current SMP systems, all of the processors are tightly coupled inside the same box with a bus or switch; on earlier SMP systems, a single CPU took an entire cabinet. Some of the components that are shared are global memory, disks, and I/O devices. Only one copy of an OS runs on all the processors, and the OS must be designed to take advantage of this architecture. Some of the basic advantages involves cost-effective ways to increase throughput. To solve different problems and tasks, SMP applies multiple processors to that one problem, known as parallel programming.

However, there are some reasons that implement SMP may be complex, due to cache coherence and shared objects.

Programming

[edit]

Uniprocessor and SMP systems require different programming methods to achieve maximum performance. Programs running on SMP systems may experience an increase in performance even when they have been written for uniprocessor systems. This is because hardware interrupts usually suspends program execution while the kernel that handles them can execute on an idle processor instead. The effect in most applications (e.g. games) is not so much a performance increase as the appearance that the program is running much more smoothly. Some applications, particularly building software and some distributed computing projects, run faster by a factor of (nearly) the number of additional processors. (Compilers by themselves are single threaded, but, when building a software project with multiple compilation units, if each compilation unit is handled independently, this creates an embarrassingly parallel situation across the entire multi-compilation-unit project, allowing near linear scaling of compilation time. Distributed computing projects are inherently parallel by design.)

Systems programmers must build support for SMP into the operating system, otherwise, the additional processors remain idle and the system functions as a uniprocessor system.

SMP systems can also lead to more complexity regarding instruction sets. A homogeneous processor system typically requires extra registers for "special instructions" such as SIMD (MMX, SSE, etc.), while a heterogeneous system can implement different types of hardware for different instructions/uses.

Performance

[edit]

When more than one program executes at the same time, an SMP system has considerably better performance than a uniprocessor system, because different programs can run on different CPUs simultaneously. Conversely, asymmetric multiprocessing (AMP) usually allows only one processor to run a program or task at a time. For example, AMP can be used in assigning specific tasks to CPU based to priority and importance of task completion. AMP was created well before SMP in terms of handling multiple CPUs, which explains the lack of performance based on the example provided.

In cases where an SMP environment processes many jobs, administrators often experience a loss of hardware efficiency. Software programs have been developed to schedule jobs and other functions of the computer so that the processor utilization reaches its maximum potential. Good software packages can achieve this maximum potential by scheduling each CPU separately, as well as being able to integrate multiple SMP machines and clusters.

Access to RAM is serialized; this and cache coherency issues cause performance to lag slightly behind the number of additional processors in the system.

Alternatives

[edit]
Diagram of a typical SMP system. Three processors are connected to the same memory module through a system bus or crossbar switch.

SMP uses a single shared system bus that represents one of the earliest styles of multiprocessor machine architectures, typically used for building smaller computers with up to 8 processors.

Larger computer systems might use newer architectures such as NUMA (Non-Uniform Memory Access), which dedicates different memory banks to different processors. In a NUMA architecture, processors may access local memory quickly and remote memory more slowly. This can dramatically improve memory throughput as long as the data are localized to specific processes (and thus processors). On the downside, NUMA makes the cost of moving data from one processor to another, as in workload balancing, more expensive. The benefits of NUMA are limited to particular workloads, notably on servers where the data are often associated strongly with certain tasks or users.

Finally, there is computer clustered multiprocessing (such as Beowulf), in which not all memory is available to all processors. Clustering techniques are used fairly extensively to build very large supercomputers.

Variable SMP

[edit]

Variable Symmetric Multiprocessing (vSMP) is a specific mobile use case technology initiated by NVIDIA. This technology includes an extra fifth core in a quad-core device, called the Companion core, built specifically for executing tasks at a lower frequency during mobile active standby mode, video playback, and music playback.

Project Kal-El (Tegra 3),[20] patented by NVIDIA, was the first SoC (System on Chip) to implement this new vSMP technology. This technology reduces mobile power consumption during active standby state, but also maximizes quad core performance during active usage for intensive mobile applications. Overall this technology addresses the need for increase in battery life performance during active and standby usage by reducing the power consumption in mobile processors.

See also

[edit]

References

[edit]
  1. ^ Patterson, David; Hennessy, John (2018). Computer Organisation and Design: The Hardware/Software Interface (RISC-V ed.). Cambridge, United States: Morgan Kaufmann. p. 509. ISBN 978-0-12-812275-4.
  2. ^ John Kubiatowicz. Introduction to Parallel Architectures and Pthreads. 2013 Short Course on Parallel Programming.
  3. ^ David Culler; Jaswinder Pal Singh; Anoop Gupta (1999). Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann. p. 47. ISBN 978-1-55860-343-1.
  4. ^ Lina J. Karam; Ismail AlKamal; Alan Gatherer; Gene A. Frantz; David V. Anderson; Brian L. Evans (2009). "Trends in Multi-core DSP Platforms" (PDF). IEEE Signal Processing Magazine. 26 (6): 38–49. Bibcode:2009ISPM...26...38K. doi:10.1109/MSP.2009.934113. S2CID 9429714.
  5. ^ Gregory V. Wilson (October 1994). "The History of the Development of Parallel Computing".
  6. ^ Martin H. Weik (January 1964). "A Fourth Survey of Domestic Electronic Digital Computing Systems". Ballistic Research Laboratories, Aberdeen Proving Grounds. Burroughs D825.
  7. ^ IBM System/360 Model 65 Functional Characteristics (PDF). Fourth Edition. IBM. September 1968. A22-6884-3.
  8. ^ IBM System/360 Model 67 Functional Characteristics (PDF). Third Edition. IBM. February 1972. GA27-2719-2.
  9. ^ M65MP: An Experiment in OS/360 multiprocessing
  10. ^ Program Logic Manual, OS I/O Supervisor Logic, Release 21 (R21.7) (PDF) (Tenth ed.). IBM. April 1973. GY28-6616-9.
  11. ^ Time Sharing Supervisor Programs by Mike Alexander (May 1971) has information on MTS, TSS, CP/67, and Multics
  12. ^ GE-635 System Manual (PDF). General Electric. July 1964.
  13. ^ GE-645 System Manual (PDF). General Electric. January 1968.
  14. ^ Richard Shetron (May 5, 1998). "Fear of Multiprocessing?". Newsgroupalt.folklore.computers. Usenet: 354e95a9.0@news.wizvax.net.
  15. ^ DEC 1077 and SMP
  16. ^ VAX Product Sales Guide, pages 1-23 and 1-24: the VAX-11/782 is described as an asymmetric multiprocessing system in 1982
  17. ^ VAX 8820/8830/8840 System Hardware User's Guide: by 1988 the VAX operating system was SMP
  18. ^ Hockney, R.W.; Jesshope, C.R. (1988). Parallel Computers 2: Architecture, Programming and Algorithms. Taylor & Francis. p. 46. ISBN 0-85274-811-6.
  19. ^ Hawley, John Alfred (June 1975). "MUNIX, A Multiprocessing Version Of UNIX" (PDF). core.ac.uk. Retrieved 11 November 2018.
  20. ^ Variable SMP – A Multi-Core CPU Architecture for Low Power and High Performance. NVIDIA. 2011.
[edit]
考试前吃什么早餐 什么叫人工智能 阳萎是什么意思 为什么小腿皮肤瘙痒 暂住证需要什么材料
非洲人一日三餐吃什么 山楂干泡水喝有什么功效 腱鞘炎要挂什么科 名字为什么不能叫安然 新疆在古代叫什么
什么是开放性伤口 青岛啤酒节什么时候 克氏针是什么 怀孕血压高对胎儿有什么影响 胃溃疡吃什么药好
百废待兴是什么意思 吹风样杂音见于什么病 扎西德勒是什么意思 无为而治什么意思 什么汤好喝又简单
缘分使然是什么意思hcv9jop7ns4r.cn 是对什么hcv7jop9ns5r.cn 高考明天考什么hcv9jop0ns0r.cn 父亲节送什么礼物比较好hcv8jop6ns4r.cn 招蚊子咬是什么原因hcv8jop9ns2r.cn
画龙点睛什么意思hcv8jop1ns1r.cn 不负卿是什么意思hcv7jop9ns3r.cn 梦见自己洗头发是什么意思hcv8jop4ns4r.cn 为什么怀孕会孕酮低hcv8jop8ns6r.cn 怕金森是什么症状hcv9jop1ns7r.cn
拐子是什么意思hcv7jop6ns1r.cn 舌下腺囊肿挂什么科hcv9jop1ns7r.cn 锁阳泡酒有什么功效hcv8jop3ns4r.cn 胃疼是什么感觉hcv9jop7ns5r.cn 益生菌什么时候吃好hcv9jop2ns2r.cn
八月初三是什么星座hcv9jop3ns8r.cn 什么是造影手术hcv9jop3ns7r.cn 认知是什么意思wuhaiwuya.com mario是什么意思hcv9jop6ns1r.cn 派出所是干什么的hcv9jop2ns5r.cn
百度