多核复习02.docx

上传人:b****5 文档编号:29860801 上传时间:2023-07-27 格式:DOCX 页数:19 大小:22.53KB
下载 相关 举报
多核复习02.docx_第1页
第1页 / 共19页
多核复习02.docx_第2页
第2页 / 共19页
多核复习02.docx_第3页
第3页 / 共19页
多核复习02.docx_第4页
第4页 / 共19页
多核复习02.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

多核复习02.docx

《多核复习02.docx》由会员分享,可在线阅读,更多相关《多核复习02.docx(19页珍藏版)》请在冰豆网上搜索。

多核复习02.docx

多核复习02

1.多处理能力带来的最大好处是能够改进______,一个多线程程序的运行需要____个单处理器系统。

(B)

A.吞吐量,多B.吞吐量,一C.频率,多D.频率,一

2.决定延迟最重要的两个因素是__________以及_________。

(D)

A.内存存取时间,处理器频率B.I/O时间,处理器频率

C.I/O时间,总线带宽D.内存存取时间,I/O时间

3.并发性既可以指对单个程序使用______处理,也可以指对多个程序使用____处理。

(A)

A.多任务,多任务B.多任务,单任务

C.单任务,多任务D.单任务,单任务

4.对于IntelVTune性能分析器,以下表述正确的是:

(D)

A.可以在程序运行的系统平台上自动搜集性能数据

B.可以将所获得的性能数据在各个不同的层次,大至系统层,下至程序源代码级,甚至到

处理器指令级,进行不同粒度的交互式可视化,帮助查找可能的性能瓶颈,并提供可能的解决方案

C.VTune既可以在本地、也可以远程搜集性能数据,并在本地进行数据处理、分析以及显示

D.以上都正确

1.下列不是多核处理器的是(B)

A.INTEL酷睿2E4500

B.INTELP31.2G处理器

C.INTELI72600K

D.AMD的推土机FX-8150

5.对于Intel(R)线程检查器,以下表述不正确的是:

(C)

A.Intel(R)线程检查器监控程序执行过程中的线程行为,发现其中存在的线程阻塞以及潜在的线程死锁问题

B.提示同线程错误相关的源代码位置、侵权变量以及堆栈跟踪等

C.不能从Windows主机系统分析Linux系统中运行的线程代码

D.Intel线程检查器可以发现数据竞争现象

下列不是多核处理器的是(C)

A.INTEL酷睿2E6300

B.INTELI52500K

C.INTELP31.4G处理器

D.AMD的推土机FX-8150

2.若对于一个给定的应用,用串行算法执行的时间为24秒,用并行算法执行的时间为32秒,则加速比为:

(A)

A.0.75B.1.33C.1D.

加速比=串行时间/并行时间=24/32=0.75

2.若对于一个给定的应用,用串行算法执行的时间为40秒,用并行算法执行的时间为20秒,则加速比为:

(B)

A.0.75B.2C.1D.0.5

 

3.下面是线程创建函数的参数中,“传给线程函数的参数”的是:

(A)

HANDLECreateThread(

LPSECURITY_ATTRIBUTESlpThreadAttributes,

SIZE_TdwStackSize,

LPTHREAD_START_ROUTINElpStartAddress,

LPVOIDIpParameter,

DWORDdwCreationFlags,

LPDWORDIpThreadId,

);

A.lpParamenterB.lpStartSddressC.lpThreadAttributesD.IpThreadId

下面是线程创建函数的参数中,用于指明“线程函数名称”的是:

(B)

HANDLECreateThread(

LPSECURITY_ATTRIBUTESlpThreadAttributes,

SIZE_TdwStackSize,

LPTHREAD_START_ROUTINElpStartAddress,

LPVOIDIpParameter,

DWORDdwCreationFlags,

LPDWORDIpThreadId,

);

A.lpParamenterB.lpStartSddressC.lpThreadAttributesD.IpThreadId

Win32API编程中创建线程的语句:

HANDLECreateThread(LPSECURITY_ATTRIBUTESlpThreadAttributes,DWORDdwStackSize,LPTHREAD_START_ROUTINElpStartAddress,LPVOIDlpParameter,DWORDdwCreationFlags,LPDWORDlpThreadId);其中lpStartAddress是指:

(C)

A.在系统中使用方法进程高级设置

B.线程堆栈大小

C.函数指针,指向实际运行的代码

D.线程ID

 

4.以下表述正确的是:

(C)

A.由一个进程中的线程切换到另一进程中的线程时,也不会引起进程切换

B.在引入线程的操作系统中,一个进程中的多个线程之间不可以并发执行

C.进程是拥有系统资源的一个独立单位,它可以拥有自己的资源

D.线程是拥有系统资源的一个独立单位

 

以下表述正确的是:

(A)

A.在引入线程的操作系统中,进程之间可以并发执行

B.在引入线程的操作系统中,一个进程中的多个线程之间不可以并发执行

C.线程是拥有系统资源的一个独立单位

D.由一个进程中的线程切换到另一进程中的线程时,也不会引起进程切换

以下表述不正确的是:

(D)

A.在传统的操作系统中,CPU调度和分派的基本单位是进程

B.在引入线程的操作系统中,则把线程作为CPU调度和分派的基本单位

C.同一进程中线程的切换不会引起进程切换,从而避免了昂贵的系统调用

D.由一个进程中的线程切换到另一进程中的线程时,也不会引起进程切换

 

5.用户级线程开销很___,内核线程开销很___。

(C)

A.高,高

B.高,低

C.低,高

D.低,低

进程级对象开销很___,内核对象开销很___。

(C)

A.高,高

B.高,低

C.低,高

D.低,低

 

6.下面哪个说法是正确的(A)

A.每个进程被初始化时,系统为它分配一个句柄表,用于保存该进程使用的内核对象信息

B.应用程序可以在内存中找到内核对象的数据结构并直接改变它们的内容。

C.一个进程中止执行,它使用的内核对象也会被撤销

D.内核对象是由进程拥有的

下面哪个说法是正确的(D)

A.应用程序可以在内存中找到内核对象的数据结构并直接改变它们的内容。

B.内核对象是由进程拥有的

C.一个进程中止执行,它使用的内核对象也会被撤销

D.Windows提供了一组函数,以便用定义的很好的方法来对内核对象的数据结构进

下列说法哪个是不正确的。

(A)

A.应用程序可以在内存中找到内核对象的数据结构并直接改变它们的内容。

B.内核对象都是通过调用函数来创建的

C.内核对象的数据结构只能被内核程序访问

D.相同的句柄值在不同的进程中可能标识不同的内核对象

 

7.OpenMP标准诞生于_______年。

(B)

A.1996

B.1997

C.1998

D.1999

OpenMP标准不支持的语言是()。

(C)

A.C

B.C++

C.VBScript

D.Fortran

 

8.以下表述不正确的是:

(B)

A.OpenMP是一种面向共享内存以及分布式共享内存的多处理器多线程并行编程模型

B.OpenMP是一种显式并行编程模型

C.OpenMP的规范由一组主要的计算机硬件和软件厂商共同制定并认可

D.OpenMP能够支持多种平台,包括大多数的类UNIX系统以及WindowsNT系统

关于OpenMP说法不正确的是()。

D

A.面向多处理器多线程并行编程语言。

B.一种编译指导语句,能够显式指导多线程并行执行的应用程序编程接口(API)

C.具有良好的可移植性,支持多种编程语言。

D.仅支持Windows系统

并行编程模型中属于显式模型的是(A)

A.Win32API

B.OpenMP

C.TBB

D.PVM

1.下列不是多核处理器的是B

A.INTEL酷睿2E4500B.AMD闪龙3000+C.cell处理器

2.若对于一个给定的应用,用串行算法执行的时间为24秒,用并行算法执行的时间为32秒,则加速比为:

A

A.0.75B.1.33C.1

3.OpenMP是哪种并行编程环境的代表?

C

A.消息传递B.数据并行C.共享存储

4.针对“降低处理器二分之一的频率,会增加二分之一的功率消耗”的说法,下面的选项中哪个是正确的:

B

A、这个说法是正确的

B、这个说法是错误的

C、对于台式机和服务器,这个说法是正确的,但对于笔记本电脑,这个说法是错误的

5.下面是线程创建函数,其中线程函数定义参数是:

A

HANDLECreateThread(

LPSECURITY_ATTRIBUTESlpThreadAttributes,

SIZE_TdwStackSize,

LPTHREAD_START_ROUTINElpStartAddress,

LPVOIDIpParameter,

DWORDdwCreationFlags,

LPDWORDIpThreadId,

);

A.lpParamenterB.lpStartSddressC.lpThreadAttributes

1.IntelCorei7处理器属于flynn分类法区分那种计算机类型(B)

A.SISD单指令流单数据流计算机

B.MIMD多指令流多数据流计算机

C.SIMD单指令流多数据流计算机

D.MISD多指令流单数据计算机

2.以不属于线程状态的是(C)

A.新建

B.运行

C.发布

D.阻塞

3.以下线程状态的转换不可能发生的是(B)

A.新建->就绪

B.新建->终止

C.就绪->运行

D.阻塞->就绪

4.并行编程模型中属于显式模型的是(A)

A.Win32API

B.OpenMP

C.TBB

D.PVM

5.IEEE为要在各种UNIX操作系统上运行的软件,而定义API的一系列互相关联的标准,这个标准的集合是(A)

A.POSIX

B.Win32

C.LSB

D.W3C

6.能够在非共享内存系统使用的多核模型是(C)

A.Win32API

B.OpenMP

C.MPI

D.TBB

7.IntelVtune的主要作用是(A)

A.寻找程序热点

B.检查堆栈使用

C.排除数据竞争

D.优化负载均衡

8.IntelThreadProfiler主要用于解决何种问题(D)

A.寻找程序热点

B.检查堆栈使用

C.排除数据竞争

D.优化负载均衡

9.OpenMP的调度策略中,将for循环做不平均分块的是(C)

A.static

B.dynamic

C.guided

D.runtime

10.如果设定Ts表示串行程序在单核上执行的时间,Tp表示在多个核多线程执行的时间,p表示处理器的个数或多核处理器的核数目,关于效率Ep的计算公式是(B)

A.Ep=Ts/Tp

B.Ep=Ts/Tp/p

C.Ep=Ts/p

D.Ep=Ts*p/Tp

11.Win32API编程中创建线程的语句:

HANDLECreateThread(LPSECURITY_ATTRIBUTESlpThreadAttributes,DWORDdwStackSize,LPTHREAD_START_ROUTINElpStartAddress,LPVOIDlpParameter,DWORDdwCreationFlags,LPDWORDlpThreadId);其中lpStartAddress是指:

(C)

A.在系统中使用方法进程高级设置

B.线程堆栈大小

C.函数指针,指向实际运行的代码

D.线程ID

12.事件一般不适用那种情况(D)

A.通知计算完成

B.通知数据可用

C.通知消息就绪

D.通知外设状态异常

13.不属于OMP对于for循环优化的约束是(D)

A.循环语句中的第三个表达式(for循环的步长)必须是整数加或整数减操作,加减的数值必须是一个循环不变量。

B.如果比较操作为<,<=,那么循环变量的值在每次迭代时都必须增加;相反,为>,>=,那么循环变量的值在每次迭代时都必须减少。

C.循环必须是单入口、单出口,循环内不允许有能够到达循环外的跳转语句,循环外不允许有能够进入到循环内的跳转语句。

D.必须使用MicrosoftVC++作为编程语言

14.如果一个程序的全部(所有的代码)只能串行执行,那么(A)

A.增加计算机的处理器数量无济于事

B.应该使用OpenMP来优化

C.应该使用Win32API来优化

D.应该使用任务分解的方法

15.不属于任务分解特点的是(B)

A.基于应用的自身特点生成线程执行独立的任务。

B.问题的步骤需要同步。

C.线程间可异步执行。

D.线程访问内存时要保证原子性,避免数据竞争。

16.不属于数据分解特点的是(C)

A.相同的操作请求不同的数据

B.适合执行密集循环计算

C.可以避免处理数据竞争的问题

D.数据处理可以并行化

17.以下软件工程中的场景,适合任务分解的是(B)

A.机场使用不同的计算机处理军用和民用航班的信息

B.大型软件安装过程中,显示该软件的介绍或教程

C.网络游戏公司统计当天用户的平均游戏时间

D.使用EditPlus编写代码点击保存时同时生成.bak备份文件

18.以下软件工程中的场景,不适合数据分解的是(C)

A.分析天文望远镜传回的巨幅照片,发现新的星系。

B.股票交易软件分析历史数据,试图找到其中规律

C.使用打开较大的MicrosoftWord文章时,用户能马上输入文字

D.人口普查统计学龄儿童的人数

 

9.不属于任务分解特点的是(B)

A.基于应用的自身特点生成线程执行独立的任务。

B.问题的步骤需要按序完成。

C.线程间可异步执行。

D.线程访问内存时要保证原子性,避免数据竞争。

不属于数据分解特点的是(C)

A.相同的操作请求不同的数据

B.适合执行密集循环计算

C.可以避免处理数据竞争的问题

D.数据处理可以并行化

10.以下软件工程中的场景,适合任务分解的是(B)

A.机场使用不同的计算机处理军用和民用航班的信息

B.大型软件安装过程中,一边安装,一边显示该软件的介绍或教程

C.网络游戏公司统计当天用户的平均游戏时间

D.使用EditPlus编写代码点击保存时同时生成.bak备份文件

以下软件工程中的场景,不适合数据分解的是(C)

A.分析天文望远镜传回的巨幅照片,发现新的星系。

B.股票交易软件分析历史数据,试图找到其中规律

C.使用打开较大的MicrosoftWord文章时,用户能马上输入文字

D.人口普查统计学龄儿童的人数

 

11.OpenMP的调度策略中,将for循环分块,适用于“多个核执行能力不尽相同,且代码执行情况不可预测”情况,可进行“易变的任务划分”的调度策略是(B)

A.static

B.dynamic

C.guided

D.runtime

12.以下表述不正确的是:

(C)

A.人们习惯上称线程为轻量级进程(lightweightprocess,LWP),线程是CPU调度和分派的基本单元

B.在创建或撤消进程时,系统都要为之分配或回收资源

C.进程切换的开销也远小于线程切换的开销

D.线程切换只需保存和设置少量寄存器的内容,并不涉及存储器管理方面的操作

13.以下表述不正确的是:

(D)

A.在传统的操作系统中,CPU调度和分派的基本单位是进程

B.在引入线程的操作系统中,则把线程作为CPU调度和分派的基本单位

C.同一进程中线程的切换不会引起进程切换,从而避免了昂贵的系统调用

D.由一个进程中的线程切换到另一进程中的线程时,也不会引起进程切换

 

OpenMP的调度策略中,将for循环分块,适用于“多个核的执行能力相同,且代码的执行情况可以预测”情况,可进行“适合等量的划分”的调度策略是(A)

A.static

B.dynamic

C.guided

D.runtime

OpenMP的调度策略中,将for循环做不平均分块的是(C)

A.static

B.dynamic

C.guided

D.runtime

 

14.不属于OMP对于for循环优化的约束是(D)

A.循环语句中的第三个表达式(for循环的步长)必须是整数加或整数减操作,加减的数值必须是一个循环不变量。

B.如果比较操作为<,<=,那么循环变量的值在每次迭代时都必须增加;相反,为>,>=,那么循环变量的值在每次迭代时都必须减少。

C.循环必须是单入口、单出口,循环内不允许有能够到达循环外的跳转语句,循环外不允许有能够进入到循环内的跳转语句。

D.必须使用MicrosoftVC++作为编程语言

15.如果一个程序的全部(所有的代码)只能串行执行,那么(A)

A.增加计算机的处理器数量无济于事

B.应该使用OpenMP来优化

C.应该使用Win32API来优化

D.应该使用任务分解的方法

 

16.针对“降低处理器二分之一的频率,会增加二分之一的功率消耗”的说法,下面的选项中哪个是正确的:

(B)

A、这个说法是正确的

B、这个说法是错误的

C、对于台式机和服务器,这个说法是正确的

D.对于笔记本电脑,这个说法是正确的

17.下列说法哪个是不正确的。

(C)

A.进程是线程的容器

B.单个进程可以包含多个线程

C.进程中不一定有线程

D.Win32中有专门的创建进程的API:

CreateProcess

 

18.以不属于线程状态的是(C)

A.新建

B.运行

C.发布

D.阻塞

19.对于线程,以下表述不正确的是:

(C)

A.线程是进程中的一个实体,是被系统调度和分配的基本单元

B.每个程序至少包含一个线程,那就是主线程

C.线程自己只拥有很少的系统资源,且不可与同属一个进程的其他线程共享所属进程所拥

有的全部资源

D.同一进程中的多个线程之间可以并发执行,从而更好地改善了系统资源的利用率

 

1.对于单芯片多处理器(CMP)架构,目前比较主流的片上高效通信机制有两种,一种是基于总线的Cache结构,一种是基于片上的互连结构。

2.OPENMP中#pragmaompparallelfor循环并行化

3.OPENMP中#pragmaompparallelforfirstprivate(val)lastprivate(val)使一个全局文件作用域的变量在并行域内变成每个线程私有,线程结束后,私有变量变成公有变量。

4.线程有4个基本状态:

就绪、运行、阻塞和终止。

5.并行计算是一种同时执行多条指令的计算模式。

并行计算的基本思想是使用多个处理器协作解决同一问题,即将被求解的问题分解成若干个部分,每一个部分均由一个独立的处理器处理。

6.按计算内核的对等与否,CMP可分为同构多核和异构多核

7.目前比较主流的片上高效通信机制有两种,一种是基于总线共享的cache结构,一种是基于片上的互联结构.

8.线程有4个基本状态:

就绪,运行,阻塞,终止

9.粒度表示程序处理数据的规模。

处理的数据相对较多,称为粗粒度反之称为细粒度,恰当粒度会对加速比的提高起作用。

10.负载平衡是指分配给多个线程的工作量大致相同。

11.并行计算机的两个最主要的组成部分是计算节点和节点间的通信与协作机制

12.winapi函数CreateMutex();创建线程互斥量

13.winapi函数CreateEvent();创建线程事件

14.进程具有两个明显的特征,一个是资源特征,另一个是执行特征.

15.数据竞争最明显的表征就是内存冲突,当多个线程同时访问同一内存空间,至少有一个线程对该内存进行更新操作,就会导致内存冲突。

16.数据竞争最明显的表征就是内存冲突,内存冲突有两种情况:

读写冲突和写写冲突。

17.OPENMP中#pragmaompparallelsections并行区域编译指导语句

18.OPENMP中#pragmaompcritical(name)线程临界区及其命名

19.OPENMP中#pragmaompatomic原子操作。

20.临界区是指一段包含对共享变量进行读写操作的代码,在任何时刻只允许一个线程对临界区进行访问。

21.winapi函数ResumeThread();被挂起线程的恢复运行

22.winapi函数TerminateThread();终止线程运行

23.互斥量用于保证单线程访问临界区

24.对信号量的原语操作包括:

Wait:

申请资源,信号量减1和Signal:

释放资源,信号量加1

25.栅障同步的作用当所有线程都执行到代码的某位置时才继续执行下一阶段的代码。

26.通过“锁”来保护共享资源,线程在访问共享数据之前申请锁,申请成功可以执行计算,执行结束要释放锁,以便其他线程能对共享数据执行其他操作。

27.winapi函数InitializeCriticalSection();初始化线程临界区

 

判断

1.CreateMutex();创建线程互斥量T

2.在任何一个线程中调用exit将会结束整个进程。

T

3.并行编程中显式模型中可以忽略技术细节,集中考虑并行区域、重构算法、获取更高性能。

F

4.并行编程中隐式模型要利用编程模型提供API显式地管理线程。

F

5.TerminateThread();终止线程运行T

6.并行编程的显式模型中线程的创建、同步和互斥等通过API完成。

T

7.如果不针对多核进行软件开发,不仅多核提供的强大计算能力得不到利用,相反还有可能不如单核CPU好用。

T

8.从某种程度上说,对于软件开发者而言,CPU主频提升就像是免费的午餐,此前所有的程序很自然地会从主频的提升中受益,而如今多核出现了,这种免费的午餐没有了。

我们必须针对多核重新进行软件设计。

T

9.CreateEvent();创建线程事件T

10.进程退出,该进程生成的线程仍能继续执行。

F

11.当加速比小于1时,说明并行后速度加快;加速比的值越大

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1