Clayworks:协作模拟环境与高阶组件应用
1. Clayworks的3层架构
在开发Clayworks时,主要挑战在于集成计算机支持的协同工作(CSCW)和高性能计算(HPC)部分,这两部分在某些方面有着相互矛盾的需求:
- CSCW部分是一个软实时系统,需要及时的通信和计算以实现应用的高响应性。不过,建模计算强度不高,可在标准的现代桌面PC上本地执行。
- 模拟算法用于迭代移动和变形黏土对象,需要一个或多个具有非常高计算能力的HPC主机,但对通信没有实时要求。
为了集成CSCW建模和HPC的不同需求,开发了如图1所示的3层架构:
| 层级 | 基础技术 | 功能 |
| ---- | ---- | ---- |
| 客户端层 | Java Swing | 用户在桌面计算机上运行客户端,提供对Clayworks所有功能的集成访问,可连接到共享工作区,进行对象建模、观察和实时聊天等 |
| 服务器层 | RMI和JDBC | 实现客户端和HPC主机之间的功能,处理实时通信,管理数据库,为HPC模拟准备数据集等 |
| HPC层 | 网格中间件 | 运行黏土变形算法的并行实现,用于模拟计算 |
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A[客户端层]:::process --> B[服务器层]:::process
B --> C[HPC层]:::process
A -.-> C(虚线表示可灵活更换
超级会员免费看
订阅专栏 解锁全文
34

被折叠的 条评论
为什么被折叠?



