Pattern--based object--oriented parallel programming

合集下载

SystemVerilog 快速语法参考

SystemVerilog 快速语法参考

Extended Literal Values • integer literals and logic literals • unsized literal with a preceding apostrophe (’), e.g., ’0, ’1, ’X, ’x, ’Z, ’z // sets all bits to this value • real literals: fixed-point format or exponent format • time literals: s, ms, us, ns, ps, fs, step • string literals enclosed in quotes: \v for vertical tab, \f for form feed, \a for bell, \x02 for hex number

• • •
• •


• • • • • • • • Nhomakorabeaextended tasks and functions • C-like void functions • pass by reference • default arguments • argument binding by name • optional arguments • import/export function for DPI classes: object-oriented mechanism (abstraction, encapsulation, safe pointers) automatic testbench support with random constraints interprocess communication synchronization • semaphores • mailboxes • event extension, event variables, and event sequencing clarification and extension of the scheduling semantics cycle-based functionality: clocking blocks and cycle-based attributes • cycle-based signal drives and samples • synchronous samples • race-free program context assertion mechanism • property and sequence declarations • assertions and coverage statements with action blocks extended hierarchy support • packages for declaration encapsulation with import for controlled access • compilation-unit scope nested modules and extern modules for separation compilation support • extension of port declarations to support interfaces, events, and variables • $root to provide unambiguous access using hierarchical references interfaces to encapsulate communication and facilitate communicationoriented design functional coverage DPI for clean, efficient interoperation with other languages (C provided) assertion API coverage API data read API Verilog procedure interface (VPI) extension for SystemVerilog constructs concurrent assertion formal semantics

计算机科学概论习题与答案

计算机科学概论习题与答案

计算机科学概论习题与答案Chapter 3. Operating SystemsMultiple Choice Questions1. Which of the following components of an operating system maintains the directory system?A. Device driversB. File managerC. Memory managerANSWER: B2. Which of the following components of an operating system handles the details associated with particular peripheral equipment?下列哪个组件的一个操作系统处理与特定的外围设备相关联的细节吗?A. Device drivers 设备驱动程序B. File managerC. Memory manager ANSWER: A3. Which of the following components of an operating system is not part of the kernel?A. ShellB. File managerC. Scheduler调度器ANSWER: A4. Multitasking in a computer with only one CPU is accomplished by a technique called .多任务在计算机只有一个CPU通过一种技术被称为A. Bootstrapping 自助法B. Batch processing 成批处理C. Multiprogramming多道程序设计ANSWER: C5. Execution of an operating system is initiated by a program called the .A. Window managerB. SchedulerC. Bootstrap引导程序6. The end of a time slice is indicted by the occurrence of a signal called .时间片结束时发生的一个信号A. An interruptB. A semaphore 一个信号量C. A login一个登录ANSWER: A7. A set of instructions that should be executed by only one process at a time is called .一组指令,应执行一次只有一个进程A. Utility 实用B. Critical region临界区C. Privileged instruction特权指令ANSWER: B8. Which of the following is not an attempt to provide security?A. Passwords密码B. Privilege instructionsC. Multitasking多重任务处理ANSWER: C9. Which of the following events is harmful to an operating system’s performanc e?A. DeadlockB. InterruptC. Booting引导启动ANSWER: A10. Which of the following is a technique for controlling access to a critical region?下列哪个技术控制访问临界区?A. Spooling 假脱机B. Time sharingC. Semaphore 信号;旗语D. Booting11. Which of the following is not involved in a process switch?A. InterruptB. Process tableC. Dispatcher调度程序D. ShellANSWER: D12. Which of the following is a task that is not performed by the kernel of an operating system?下列哪个是一个任务,并不是由一个操作系统的内核?A. Communicate with the userB. Schedule processes调度进程C. Allocate resources分配资源D. Avoid deadlockANSWER: A13. Which of the following components of an operating system is executed to handle an interrupt signal?A. DispatcherB. Memory managerC. File managerANSWER: AFill-in-the-blank/Short-answer Questions1. In contrast to early batch processing techniques, __A__ allows the user to communicate with the computer while theuser’s application is being executed. In turn, this type of processing requires that the computer’sresponses to its environment be performed in a timely manner, a requirement known as __B__.与早期的批处理技术相比,便利允许用户与计算机进行通信,用户的应用程序被执行。

科技英语常用单词

科技英语常用单词

objective function 目标函数observability index 可观测指数observable canonical form 可观测规范型on-line assistance 在线帮助on-off control 通断控制open loop pole 开环极点operational research model 运筹学模型optic fiber tachometer 光纤式转速表optimal trajectory 最优轨迹optimization technique 最优化技术orbital rendezvous 轨道交会orbit gyrocompass 轨道陀螺罗盘orbit perturbation 轨道摄动order parameter 序参数orientation control 定向控制originator 始发站oscillating period 振荡周期output prediction method 输出预估法oval wheel flowmeter 椭圆齿轮流量计overall design 总体设计overdamping 过阻尼overlapping decomposition 交叠分解Pade approximation 帕德近似Pareto optimality 帕雷托最优性passive attitude stabilization 被动姿态稳定path repeatability 路径可重复性pattern primitive 模式基元PR (pattern recognition) 模式识别P control 比例控制器peak time 峰值时间penalty function method 罚函数法perceptron 感知器periodic duty 周期工作制perturbation theory 摄动理论pessimistic value 悲观值phase locus 相轨迹phase trajectory 相轨迹phase lead 相位超前photoelectric tachometric transducer 光电式转速传感器phrase-structure grammar 短句结构文法physical symbol system 物理符号系统piezoelectric force transducer 压电式力传感器playback robot 示教再现式机器人PLC (programmable logic controller) 可编程序逻辑控制器plug braking 反接制动plug valve 旋塞阀pneumatic actuator 气动执行机构point-to-point control 点位控制polar robot 极坐标型机器人pole assignment 极点配置pole-zero cancellation 零极点相消polynomial input 多项式输入portfolio theory 投资搭配理论pose overshoot 位姿过调量position measuring instrument 位置测量仪posentiometric displacement transducer 电位器式位移传感器positive feedback 正反馈power system automation 电力系统自动化predicate logic 谓词逻辑pressure gauge with electriccontact电接点压力表pressure transmitter 压力变送器price coordination 价格协调primal coordination 主协调primary frequency zone 主频区PCA (principal componentanalysis)主成分分析法principle of turnpike 大道原理priority 优先级process-oriented simulation 面向过程的仿真production budget 生产预算production rule 产生式规则profit forecast 利润预测PERT (program evaluation andreview technique)计划评审技术program set station 程序设定操作器proportional control 比例控制proportional plus derivativecontroller比例微分控制器protocol engineering 协议工程prototype 原型pseudo random sequence 伪随机序列pseudo-rate-increment control 伪速率增量控制pulse duration 脉冲持续时间pulse frequency modulation control system 脉冲调频控制系统pulse width modulation control system 脉冲调宽控制系统PWM inverter 脉宽调制逆变器pushdown automaton 下推自动机QC (quality control) 质量管理quadratic performance index 二次型性能指标qualitative physical model 定性物理模型quantized noise 量化噪声quasilinear characteristics 准线性特性queuing theory 排队论radio frequency sensor 射频敏感器ramp function 斜坡函数random disturbance 随机扰动random process 随机过程rate integrating gyro 速率积分陀螺ratio station 比值操作器reachability 可达性reaction wheel control 反作用轮控制realizability 可实现性,能实现性real time telemetry 实时遥测receptive field 感受野rectangular robot 直角坐标型机器人rectifier 整流器recursive estimation 递推估计reduced order observer 降阶观测器redundant information 冗余信息reentry control 再入控制regenerative braking 回馈制动,再生制动regional planning model 区域规划模型regulating device 调节装载regulation 调节relational algebra 关系代数relay characteristic 继电器特性remote manipulator 遥控操作器remote regulating 遥调remote set point adjuster 远程设定点调整器rendezvous and docking 交会和对接reproducibility 再现性resistance thermometer sensor 热电阻resolution principle 归结原理resource allocation 资源分配response curve 响应曲线return difference matrix 回差矩阵return ratio matrix 回比矩阵reverberation 回响reversible electric drive 可逆电气传动revolute robot 关节型机器人revolution speed transducer 转速传感器rewriting rule 重写规则rigid spacecraft dynamics 刚性航天动力学risk decision 风险分析robotics 机器人学robot programming language 机器人编程语言robust control 鲁棒控制robustness 鲁棒性roll gap measuring instrument 辊缝测量仪root locus 根轨迹roots flowmeter 腰轮流量计rotameter 浮子流量计,转子流量计rotary eccentric plug valve 偏心旋转阀rotary motion valve 角行程阀rotating transformer 旋转变压器Routh approximation method 劳思近似判据routing problem 路径问题sampled-data control system 采样控制系统sampling control system 采样控制系统saturation characteristics 饱和特性scalar Lyapunov function 标量李雅普诺夫函数SCARA (selective compliance assembly robot arm) 平面关节型机器人scenario analysis method 情景分析法scene analysis 物景分析s-domain s域self-operated controller 自力式控制器self-organizing system 自组织系统self-reproducing system 自繁殖系统self-tuning control 自校正控制semantic network 语义网络semi-physical simulation 半实物仿真sensing element 敏感元件sensitivity analysis 灵敏度分析sensory control 感觉控制sequential decomposition 顺序分解sequential least squares estimation 序贯最小二乘估计servo control 伺服控制,随动控制servomotor 伺服马达settling time 过渡时间sextant 六分仪short term planning 短期计划short time horizon coordination 短时程协调signal detection and estimation 信号检测和估计signal reconstruction 信号重构similarity 相似性simulated interrupt 仿真中断simulation block diagram 仿真框图simulation experiment 仿真实验simulation velocity 仿真速度simulator 仿真器single axle table 单轴转台single degree of freedom gyro 单自由度陀螺single level process 单级过程single value nonlinearity 单值非线性singular attractor 奇异吸引子singular perturbation 奇异摄动sink 汇点slaved system 受役系统slower-than-real-time simulation 欠实时仿真slow subsystem 慢变子系统socio-cybernetics 社会控制论socioeconomic system 社会经济系统software psychology 软件心理学solar array pointing control 太阳帆板指向控制solenoid valve 电磁阀source 源点specific impulse 比冲speed control system 调速系统spin axis 自旋轴spinner 自旋体stability criterion 稳定性判据stability limit 稳定极限stabilization 镇定,稳定Stackelberg decision theory 施塔克尔贝格决策理论state equation model 状态方程模型state space description 状态空间描述static characteristics curve 静态特性曲线station accuracy 定点精度stationary random process 平稳随机过程statistical analysis 统计分析statistic pattern recognition 统计模式识别steady state deviation 稳态偏差steady state error coefficient 稳态误差系数step-by-step control 步进控制step function 阶跃函数stepwise refinement 逐步精化stochastic finite automaton 随机有限自动机strain gauge load cell 应变式称重传感器strategic function 策略函数strongly coupled system 强耦合系统subjective probability 主观频率suboptimality 次优性supervised training 监督学习supervisory computer controlsystem计算机监控系统sustained oscillation 自持振荡swirlmeter 旋进流量计switching point 切换点symbolic processing 符号处理synaptic plasticity 突触可塑性synergetics 协同学syntactic analysis 句法分析system assessment 系统评价systematology 系统学system homomorphism 系统同态system isomorphism 系统同构system engineering 系统工程tachometer 转速表target flow transmitter 靶式流量变送器task cycle 作业周期teaching programming 示教编程telemechanics 远动学telemetering system of frequencydivision type频分遥测系统telemetry 遥测teleological system 目的系统teleology 目的论temperature transducer 温度传感器template base 模版库tensiometer 张力计texture 纹理theorem proving 定理证明therapy model 治疗模型thermocouple 热电偶thermometer 温度计thickness meter 厚度计three-axis attitude stabilization 三轴姿态稳定three state controller 三位控制器thrust vector control system 推力矢量控制系统thruster 推力器time constant 时间常数time-invariant system 定常系统,非时变系统time schedule controller 时序控制器time-sharing control 分时控制time-varying parameter 时变参数top-down testing 自上而下测试topological structure 拓扑结构TQC (total quality control) 全面质量管理tracking error 跟踪误差trade-off analysis 权衡分析transfer function matrix 传递函数矩阵transformation grammar 转换文法transient deviation 瞬态偏差transient process 过渡过程transition diagram 转移图transmissible pressure gauge 电远传压力表transmitter 变送器trend analysis 趋势分析triple modulation telemetering system 三重调制遥测系统turbine flowmeter 涡轮流量计Turing machine 图灵机two-time scale system 双时标系统ultrasonic levelmeter 超声物位计unadjustable speed electric drive 非调速电气传动unbiased estimation 无偏估计underdamping 欠阻尼uniformly asymptotic stability 一致渐近稳定性uninterrupted duty 不间断工作制,长期工作制unit circle 单位圆unit testing 单元测试unsupervised learing 非监督学习upper level problem 上级问题urban planning 城市规划utility function 效用函数value engineering 价值工程variable gain 可变增益,可变放大系数variable structure control system 变结构控制vector Lyapunov function 向量李雅普诺夫函数velocity error coefficient 速度误差系数velocity transducer 速度传感器vertical decomposition 纵向分解vibrating wire force transducer 振弦式力传感器vibrometer 振动计viscous damping 粘性阻尼voltage source inverter 电压源型逆变器vortex precession flowmeter 旋进流量计vortex shedding flowmeter 涡街流量计WB (way base) 方法库weighing cell 称重传感器weighting factor 权因子weighting method 加权法Whittaker-Shannon sampling theorem 惠特克-香农采样定理Wiener filtering 维纳滤波work station for computer aided design 计算机辅助设计工作站w-plane w平面zero-based budget 零基预算zero-input response 零输入响应zero-state response 零状态响应zero sum game model 零和对策模型z-transform z变换。

面向对象有限元并行计算框架PANDA的并行机制

面向对象有限元并行计算框架PANDA的并行机制

程、 区域 分解 、 区信 息和通信 封装 等部 分 设计 P N A 框 架在 并 行计 算 方 面 的数 据 结 构. 计 算 分 A D 在
流程 中建立 区域 分解 和并行 求解 器的配合协 作 方式 , 而描述 进行 区域分割 的 3种 网格剖 分方 法 ; 进 对分 区边界单 元和节 点信 息的组 织以及对 并行通信 操作 的封装 使复 杂的 并行 通信 调 用简单 、 易行 .
集 成 A tc S O L S S p rU, Y R , E S , z , P O E , u eL H P E e P T c
并行 程序 , 能显 著 控制 数据 分 配和通 信 , 这种 控 制 又
促 进 在大 规模 分 布存 储 并 行 机 上 的 高性 能 编程 . 。 。
针 对 目 前 高 性 能 集 群 的 广 泛 应 用 , 用 MP 采 I
( s g as gItr c ) 分 布存 储 方 式 实 现 有 Mes eP si ef e 以 a n n a 限元 并行 是正 确 的选择 . 面 向对象 技术 对并 行 编 程 过 程有 重 要 影 响 ( 如 对数 据 和 函数 的 封装 、 承和 多 态 性 ) 许 多 基 于类 继 , 等 的编程 思想 都来 源 于 串行 编 程 领 域 , 也 开 始 在 但
p ns s c a c mp t t n f w , d ma n d c mpo iin, pa t n i fr ai n, c mmunc to a uh s o u ai l o o o i e o st o  ̄ii n o o m to o iai n
e c p ua in a O o .Th ol b r tv pp o c ewe n d man d c mp sto n r lls l e s n a s l t nd S n o e c la oa ie a r a h b t e o i e o o iin a d paa e ov ri l e tbl h d i o u a in fo sa i e n c mp t t w.a d t e h e s i g me h dsa e d s rb d f rdo i a t i n s o l n h n t r e me h n t o r e c ie 0 ma n p ri o .Du t e

leetcode 力扣 1080 驼峰式匹配 题解 算法题

leetcode 力扣 1080 驼峰式匹配  题解 算法题

题目:驼峰式匹配如果我们可以将小写字母插入模式串pattern得到待查询项query,那么待查询项与给定模式串匹配。

(我们可以在任何位置插入每个字符,也可以插入 0 个字符。

)给定待查询列表queries,和模式串pattern,返回由布尔值组成的答案列表answer。

只有在待查项queries[i]与模式串pattern匹配时,answer[i]才为true,否则为false。

示例 1:输入:queries = ["FooBar","FooBarTest","FootBall","FrameBuffer","ForceF eedBack"], pattern = "FB"输出:[true,false,true,true,false]示例:"FooBar" 可以这样生成:"F" + "oo" + "B" + "ar"。

"FootBall" 可以这样生成:"F" + "oot" + "B" + "all"."FrameBuffer" 可以这样生成:"F" + "rame" + "B" + "uffer".示例 2:输入:queries = ["FooBar","FooBarTest","FootBall","FrameBuffer","ForceF eedBack"], pattern = "FoBa"输出:[true,false,true,false,false]解释:"FooBar" 可以这样生成:"Fo" + "o" + "Ba" + "r"."FootBall" 可以这样生成:"Fo" + "ot" + "Ba" + "ll".示例 3:输出:queries = ["FooBar","FooBarTest","FootBall","FrameBuffer","ForceF eedBack"], pattern = "FoBaT"输入:[false,true,false,false,false]解释:"FooBarTest" 可以这样生成:"Fo" + "o" + "Ba" + "r" + "T" + "est".提示:1. 1 <= queries.length <= 1002. 1 <= queries[i].length <= 1003. 1 <= pattern.length <= 1004.所有字符串都仅由大写和小写英文字母组成。

计算机专业英语 考试

计算机专业英语 考试

一、选择题1.What is the process of converting a high-level programming language into machine languagecalled?A.Debuggingpilation(正确答案)C.ExecutionD.Interpretation2.Which of the following is a programming paradigm that organizes software design around data,and the operations performed on that data?A.Object-oriented programming(正确答案)B.Procedural programmingC.Functional programmingD.Event-driven programming3.In computer networks, what does the term "protocol" refer to?A. A set of rules governing the exchange of information between devices(正确答案)B.The physical connection between devicesC.The speed of data transmissionD.The type of data being transmitted4.What is the term used to describe the process of dividing a complex problem into smaller, moremanageable parts?A.Modularization(正确答案)B.OptimizationC.EncapsulationD.Polymorphism5.In computer security, what is the term for unauthorized access to or modification of data?A.EncryptionB.DecryptionC.Hacking(正确答案)D.Firewall6.Which of the following is a type of software that allows two or more computers tocommunicate and share resources?A.Operating systemB.Database management systemwork operating system(正确答案)D.Word processing software7.What is the term used to describe the process of identifying and correcting errors in computerprograms?A.Debugging(正确答案)B.TestingC.Codingpilation8.In computer graphics, what is the term for the number of distinct pixels that can be displayedon a screen?A.Resolution(正确答案)B.Color depthC.Refresh rateD.Aspect ratio。

《Java高级编程教程课件》

《Java高级编程教程课件》

1. 面向对象思想的理解与应用
封装
了解如何使用封装来隐藏实现细节,提高代码 可维护性和安全性。
多态
了解多态概念及其在Java中的应用,以提供更 灵活的设计和编程方式。
继承
学习如何重用代码和扩展现有类的功能,以提 高开发效率。
抽象
掌握如何使用抽象类和接口实现代码的灵活性 和可扩展性。
2. 多线程编程的实现方法与技巧
《Java高级编程教程课件》
This advanced Java programming tutorial covers a wide range of topics, including object-oriented programming, multithreading, reflection, and more.
线程创建
学习如何创建和管理多线程,以 实现并发和提高程序性能。
线程同步
了解如何使用同步机制避免线程 安全问题,保护共享资源。
线程池
掌握线程池的优势和使用方法, 提高线程创建和调度的效率。
3. 反射机制的原理与应用
Class对象
了解Class对象的概念和作用, 掌握获取Cla s s 对象的方式和 应用。
6. AWT/Swing的图形界面编程 实践
1 AWT组件
了解AWT组件库的基本概念 和使用习Swing 组件库的特性和 优势,创建复杂和美观的用 户界面。
3 布局管理器
掌握各种布局管理器的特点和使用方式,实现灵活的界面布局。
7. 网络编程中的协议与通信实现
动态加载与创建对象
学习使用反射动态加载类和 创建对象,以实现灵活的程 序设计。
调用方法与访问字段
掌握使用反射调用方法和访 问字段的技巧,实现动态和 通用的代码操作。

学习Python中的面向对象编程原理

学习Python中的面向对象编程原理

学习Python中的面向对象编程原理
面向对象编程(Object-oriented programming,简称 OOP)是
一种程序设计思想及相关的实现方法,以把数据和行为结合起来,在Python中它代表了一种高度抽象的编程语言,提供了
一种极其直接和强大的编程模型。

面向对象编程是通过使用类(Class)和对象(Object)来实现的,而对象实现了真实世界
中的概念,类保存了对象的状态和行为。

主要内容包括:
类(Class):类是把相关的因素抽象出来建模,它由属性(attribute)和行为(method)组成。

属性表示类的特征,而
行为表示类的功能。

实例(Instance):实例是同一类的具体个体,也就是说它会
根据类的模板定义实例的特征和行为,并可以传递给其他实例。

继承(Inheritance):继承是类之间相互关联的重要机制,它
允许一个类(子类)从另一个类(父类)复制成员变量和成员函数,这样就更好地描述真实世界中的概念。

封装(Encapsulation):封装是把类中属性和行为封装在一起,对外部隐藏,从而提高代码的可维护性、可重用性和可读性。

多态(Polymorphism):多态是指一个类型可以方法调用的灵活性,例如,一个父类定义的某个方法被子类重新定义,而不影响父类的实现。

这些技术都可以帮助我们更好地实现我们的代码,大大提高了代码的可维护性和可扩展性,更有利于程序的可重用性。

通过这种方式,程序员可以更容易地开发出能够满足业务需求的程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
of compiler and run{time technology. In this progression, we can see more emphasis placed on the usability of the tools rather than raw performance gains 44]. Each successive system reduced the probability of introducing programmer errors. However, since performance considerations cannot be ignored, each successive system also supported incremental application tuning. A related performance issue is openness 40], where a user is able to access low{level features in the PPS and use them as necessary. These concerns led to a critical evaluation of pattern{based systems that provides the motivation for the new system, CO2 P3 S1. In this proposal, we present the architecture and model for CO2 P3 S in which we address some of the shortcomings of the earlier systems. This architecture is the basis of current research in object{oriented parallel programming systems. The continuing goal is to produce usable parallel programming tools. The rst shortcoming we address is the loose relationship between the user's code and the graphical speci cation of the program structure. Enterprise improved on FrameWorks by verifying a correspondence between the parallel structure and the code at compile{time. However, we feel that forcing the user to write a program that conforms to an existing diagram is redundant. If the structure of the application is already known, then the basic framework can be generated automatically. This reduces the amount of e ort required to write programs, while simultaneously reducing programmer errors even further. The CO2 P3 S architecture also supports improved incremental tuning. The architecture is novel in that it provides several user{ accessible layers of abstraction. At any given time during performance tuning, a programmer can work at the appropriate level of abstraction, based on what is being tuned. This can range from modifying the basic parallel pattern at the highest level, to modifying synchronization techniques at the middle layer, to modifying which communication primitives are used at the lowest level. The goal of this work is an open system where the performance of an application is directly commensurate with programmer e ort. This paper is organized as follows. Section 2 is an overview of other parallel programming systems. Section 3 presents the architecture for incremental tuning. Section 4 presents the CO2 P3 S model by using an example application. Section 5 evaluates the CO2 P3 S system and the PPSs of Section 2 using established criteria for pattern{based parallel programming systems. Section 6 is an overview of other related work in the design pattern and parallel programming elds and compares this work to the new project. Section 7 proposes thesis research within the project. Some conclusions are presented in Section 8.
Pattern{based Object{Oriented Parallel Programming
Steve MacDonald
1 Introduction and Motivation
Parallel programming o ers substantial performance gains to those willing to take up the challenge. By properly using additional processors, either in a single multiprocessor machine or in a network of workstations, we can execute programs faster than they would execute sequentially. We can apply this bene t to either reduce the execution time of a large program or run larger, more detailed problems in the same amount of time. Unfortunately, this bene t comes at a steep price. Parallel programming is a di cult task, combining the complexities of sequential programming with additional issues. The programmer must now create and coordinate the processes that are participating in the computation. Parallel activities must be properly synchronized to ensure correct results. The user will also have to deal with any nondeterminism introduced by the concurrent activities, since the program may no longer execute in a consistent order each time it is run. This last problem also hampers debugging since a program may only fail on speci c orderings that can be di cult to reproduce. To combat this complexity, we need a set of tools that aid in the development of parallel programs. One such tool is a parallel programming system (PPS). A PPS can be responsible for managing some of the added complexity by providing a simple parallel programming model to the user that eases or removes some of the above issues. It may further help the user by providing a complete toolset for debugging, executing, and tuning programs. This proposal discusses advances in the state{of{the{art in parallel programming systems. Recently, state{of{the{art PPSs have started to concentrate on template{based (or, as they are now called, pattern{based 16]) parallel programming systems. By observing the progression of these systems, we can clearly see the evolution of pattern{based computing technology. One of the rst attempts, FrameWorks 39], allowed users to graphically specify the parallel structure of a procedural program in much the same way they would solve a puzzle, by piecing together di erent components. The programming model of FrameWorks was low{level and placed the burden of correctness on the user. This research led to Enterprise 35], a PPS that provided a limited number of templates that could be composed in a structured way. The programming model in Enterprise was at a much higher level, with many of the low{level details handled by a combination
相关文档
最新文档