首页 > 最新文献

International Journal of Parallel Programming最新文献

英文 中文
Meerkat: A Framework for Dynamic Graph Algorithms on GPUs 猫鼬GPU 动态图形算法框架
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-09-18 DOI: 10.1007/s10766-024-00774-z
Kevin Jude Concessao, Unnikrishnan Cheramangalath, Ricky Dev, Rupesh Nasre

Graph algorithms are challenging to implement due to their varying topology and irregular access patterns. Real-world graphs are dynamic in nature and routinely undergo edge and vertex additions, as well as, deletions. Typical examples of dynamic graphs are social networks, collaboration networks, and road networks. Applying static algorithms repeatedly on dynamic graphs is inefficient. Further, due to the rapid growth of unstructured and semi-structured data, graph algorithms demand efficient parallel processing. Unfortunately, we know only a little about how to efficiently process dynamic graphs on massively parallel architectures such as GPUs. Existing approaches to represent and process dynamic graphs are either not general or are inefficient. In this work, we propose a graph library for dynamic graph algorithms over a GPU-tailored graph representation and exploits the warp-cooperative work-sharing execution model. The library, named Meerkat, builds upon a recently proposed dynamic graph representation on GPUs. This representation exploits a hashtable-based mechanism to store a vertex’s neighborhood. Meerkat also enables fast iteration through a group of vertices, a pattern common and crucial for achieving performance in graph applications. Our framework supports dynamic edge additions and edge deletions, along with their batched versions. Based on the efficient iterative patterns encoded in Meerkat, we implement dynamic versions of popular graph algorithms such as breadth-first search, single-source shortest paths, triangle counting, PageRank, and weakly connected components. We evaluated our implementations over the ones in other publicly available dynamic graph data structures and frameworks: GPMA, Hornet, and faimGraph. Using a variety of real-world graphs, we observe that Meerkat significantly improves the efficiency of the underlying dynamic graph algorithm, outperforming these frameworks.

由于图形的拓扑结构各不相同,访问模式也不规则,因此实现图形算法极具挑战性。现实世界中的图形是动态的,经常会出现边和顶点的添加和删除。动态图的典型例子包括社交网络、协作网络和道路网络。在动态图上重复应用静态算法效率很低。此外,由于非结构化和半结构化数据的快速增长,图算法需要高效的并行处理。遗憾的是,我们对如何在 GPU 等大规模并行架构上高效处理动态图知之甚少。现有的表示和处理动态图的方法要么不通用,要么效率低下。在这项工作中,我们提出了一个通过 GPU 定制图表示动态图算法的图库,并利用了 warp-cooperative 工作共享执行模型。该库名为 Meerkat,建立在最近提出的 GPU 动态图表示法基础之上。这种表示法利用基于哈希表的机制来存储顶点的邻域。Meerkat 还能快速迭代一组顶点,这是一种常见模式,也是实现图形应用性能的关键。我们的框架支持动态边添加和边删除,以及它们的批处理版本。基于 Meerkat 中编码的高效迭代模式,我们实现了广度优先搜索、单源最短路径、三角形计数、PageRank 和弱连接组件等流行图算法的动态版本。我们对其他公开的动态图数据结构和框架的实现进行了评估:GPMA、Hornet 和 faimGraph。通过使用各种真实图,我们发现 Meerkat 显著提高了底层动态图算法的效率,表现优于这些框架。
{"title":"Meerkat: A Framework for Dynamic Graph Algorithms on GPUs","authors":"Kevin Jude Concessao, Unnikrishnan Cheramangalath, Ricky Dev, Rupesh Nasre","doi":"10.1007/s10766-024-00774-z","DOIUrl":"https://doi.org/10.1007/s10766-024-00774-z","url":null,"abstract":"<p>Graph algorithms are challenging to implement due to their varying topology and irregular access patterns. Real-world graphs are dynamic in nature and routinely undergo edge and vertex additions, as well as, deletions. Typical examples of dynamic graphs are social networks, collaboration networks, and road networks. Applying static algorithms repeatedly on dynamic graphs is inefficient. Further, due to the rapid growth of unstructured and semi-structured data, graph algorithms demand efficient parallel processing. Unfortunately, we know only a little about how to efficiently process dynamic graphs on massively parallel architectures such as GPUs. Existing approaches to represent and process dynamic graphs are either not general or are inefficient. In this work, we propose a graph library for dynamic graph algorithms over a GPU-tailored graph representation and exploits the <i>warp-cooperative work-sharing execution model</i>. The library, named <span>Meerkat</span>, builds upon a recently proposed dynamic graph representation on GPUs. This representation exploits a hashtable-based mechanism to store a vertex’s neighborhood. <span>Meerkat</span> also enables fast iteration through a group of vertices, a pattern common and crucial for achieving performance in graph applications. Our framework supports dynamic edge additions and edge deletions, along with their batched versions. Based on the efficient iterative patterns encoded in <span>Meerkat</span>, we implement dynamic versions of popular graph algorithms such as breadth-first search, single-source shortest paths, triangle counting, PageRank, and weakly connected components. We evaluated our implementations over the ones in other publicly available dynamic graph data structures and frameworks: <i>GPMA</i>, <i>Hornet</i>, and <i>faimGraph</i>. Using a variety of real-world graphs, we observe that <span>Meerkat</span> significantly improves the efficiency of the underlying dynamic graph algorithm, outperforming these frameworks.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"16 1","pages":""},"PeriodicalIF":1.5,"publicationDate":"2024-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142256750","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Intelligent Page Migration on Heterogeneous Memory by Using Transformer 利用变换器在异构存储器上实现智能页面迁移
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-09-12 DOI: 10.1007/s10766-024-00776-x
Songwen Pei, Wei Qin, Jianan Li, Junhao Tan, Jie Tang, Jean-Luc Gaudiot

Locality-based migration strategies are widely used in existing memory space management. Such type of strategies are consistently confronts with challenges in efficiently managing pages migration within constrained memory space, especially when new architecture such as hybrid of DRAM and NVM are emerging. Here we propose TransMigrator, an innovative predictive page migration model based on transformer architecture, which obtains a qualitative leap in the breadth and accuracy of prediction compared with traditional local-based methods. TransMigrator utilizes an end-to-end neural network to learn memory access behavior and page migration record in the long-term history and predict the most likely next page to fetch. Furthermore, a migration-management mechanism is designed to support the page-feeding from predictor, which in another way enhance the model robustness. The model achieves an average prediction accuracy better than 0.72, and saves an average of 0.24 access time overhead compared to strategies such as AC-CLOCK, THMigrator, and VC-HMM.

基于位置的迁移策略被广泛应用于现有的内存空间管理中。这类策略在有限的内存空间内有效管理页面迁移方面一直面临挑战,尤其是当 DRAM 和 NVM 混合等新架构出现时。在此,我们提出了基于变压器架构的创新型页面迁移预测模型--TransMigrator,与传统的基于本地的方法相比,该模型在预测的广度和准确性方面实现了质的飞跃。TransMigrator 利用端到端神经网络学习内存访问行为和长期历史中的页面迁移记录,并预测下一个最有可能获取的页面。此外,还设计了一种迁移管理机制来支持预测器的页面馈送,这从另一个角度增强了模型的鲁棒性。与 AC-CLOCK、THMigrator 和 VC-HMM 等策略相比,该模型实现了优于 0.72 的平均预测精度,并平均节省了 0.24 的访问时间开销。
{"title":"Intelligent Page Migration on Heterogeneous Memory by Using Transformer","authors":"Songwen Pei, Wei Qin, Jianan Li, Junhao Tan, Jie Tang, Jean-Luc Gaudiot","doi":"10.1007/s10766-024-00776-x","DOIUrl":"https://doi.org/10.1007/s10766-024-00776-x","url":null,"abstract":"<p>Locality-based migration strategies are widely used in existing memory space management. Such type of strategies are consistently confronts with challenges in efficiently managing pages migration within constrained memory space, especially when new architecture such as hybrid of DRAM and NVM are emerging. Here we propose TransMigrator, an innovative predictive page migration model based on transformer architecture, which obtains a qualitative leap in the breadth and accuracy of prediction compared with traditional local-based methods. TransMigrator utilizes an end-to-end neural network to learn memory access behavior and page migration record in the long-term history and predict the most likely next page to fetch. Furthermore, a migration-management mechanism is designed to support the page-feeding from predictor, which in another way enhance the model robustness. The model achieves an average prediction accuracy better than 0.72, and saves an average of 0.24 access time overhead compared to strategies such as AC-CLOCK, THMigrator, and VC-HMM.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"19 1","pages":""},"PeriodicalIF":1.5,"publicationDate":"2024-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142183337","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Design and Performance Evaluation of a Novel High-Speed Hardware Architecture for Keccak Crypto Coprocessor 用于 Keccak 密码协处理器的新型高速硬件架构设计与性能评估
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-08-29 DOI: 10.1007/s10766-024-00777-w
Mustafa Sanlı

The Keccak algorithm plays a significant role in ensuring the security and confidentiality of data in modern information systems. However, it involves computational complexities that can hinder high-performance applications. This paper proposes a novel high-performance hardware architecture for the Keccak algorithm to address this problem. Our proposed hardware architecture exploits existing parallelisms in the Keccak algorithm to optimize its execution in terms of both speed and resource efficiency. By thoroughly analyzing the Keccak algorithm's structure and building blocks, we adapted our hardware architecture to take full advantage of the capabilities of modern FPGAs and ASICs. Key features of the high-performance hardware architecture include parallelized computation blocks, efficient digital design and a streamlined data path. In addition to these, we also make use of hardware level design considerations such as FPGA floorplanning, pipelining and bit-level parallelisms to increase the performance of our design. All these design considerations contribute to significantly increased processing speeds surpassing traditional software-based approaches and previous hardware-based implementations. Our design also minimizes resource usage, making it applicable to a wide variety of embedded and cryptographic systems. This makes our design suitable for applications that require both high throughput and secure data processing.

Keccak 算法在确保现代信息系统中数据的安全性和保密性方面发挥着重要作用。然而,它所涉及的计算复杂性会阻碍高性能应用。本文针对 Keccak 算法提出了一种新型高性能硬件架构,以解决这一问题。我们提出的硬件架构利用了 Keccak 算法中现有的并行性,从速度和资源效率两方面优化了算法的执行。通过深入分析 Keccak 算法的结构和构建模块,我们调整了硬件架构,以充分利用现代 FPGA 和 ASIC 的功能。高性能硬件架构的主要特点包括并行化的计算模块、高效的数字设计和精简的数据路径。除此之外,我们还利用 FPGA 底层规划、流水线和位级并行等硬件级设计因素来提高设计性能。所有这些设计考虑因素都有助于大幅提高处理速度,超越传统的基于软件的方法和以前的基于硬件的实现方法。我们的设计还最大限度地减少了资源使用,使其适用于各种嵌入式系统和加密系统。因此,我们的设计适用于需要高吞吐量和安全数据处理的应用。
{"title":"Design and Performance Evaluation of a Novel High-Speed Hardware Architecture for Keccak Crypto Coprocessor","authors":"Mustafa Sanlı","doi":"10.1007/s10766-024-00777-w","DOIUrl":"https://doi.org/10.1007/s10766-024-00777-w","url":null,"abstract":"<p>The Keccak algorithm plays a significant role in ensuring the security and confidentiality of data in modern information systems. However, it involves computational complexities that can hinder high-performance applications. This paper proposes a novel high-performance hardware architecture for the Keccak algorithm to address this problem. Our proposed hardware architecture exploits existing parallelisms in the Keccak algorithm to optimize its execution in terms of both speed and resource efficiency. By thoroughly analyzing the Keccak algorithm's structure and building blocks, we adapted our hardware architecture to take full advantage of the capabilities of modern FPGAs and ASICs. Key features of the high-performance hardware architecture include parallelized computation blocks, efficient digital design and a streamlined data path. In addition to these, we also make use of hardware level design considerations such as FPGA floorplanning, pipelining and bit-level parallelisms to increase the performance of our design. All these design considerations contribute to significantly increased processing speeds surpassing traditional software-based approaches and previous hardware-based implementations. Our design also minimizes resource usage, making it applicable to a wide variety of embedded and cryptographic systems. This makes our design suitable for applications that require both high throughput and secure data processing.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"24 1","pages":""},"PeriodicalIF":1.5,"publicationDate":"2024-08-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142183338","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
RMOWOA: A Revamped Multi-Objective Whale Optimization Algorithm for Maximizing the Lifetime of a Network in Wireless Sensor Networks RMOWOA:无线传感器网络中实现网络寿命最大化的改进型多目标鲸鱼优化算法
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-08-06 DOI: 10.1007/s10766-024-00775-y
Bhanu Dwivedi, Bachu Dushmanta Kumar Patro

Wireless sensor networks (WSNs) consist of sensor nodes that detect, process, and transmit various types of information to a base station unit. The development of energy-efficient routing protocols is a crucial challenge in WSNs. This study proposes a novel algorithm called RMOWOA, i.e., Revamped Multi-Objective Whale Optimization Algorithm, which utilizes concentric circles with different radii to partition the network. The circles are divided into eight equal sectors, and sections are formed at the intersections of sectors and layers. Each section contains a small number of nodes, and an agent is selected based on specific criteria. The nodes within each section transmit their detected information to the corresponding agent or cluster head. This process is repeated until the base station receives the data. The selection of agents is based on a WOA-based approach, known for enhancing the network's lifetime. The selected agent aggregates the data, performs redundant residue number-based error detection and rectification, and forwards the information to the lower segment's agent within that sector. The proposed RMOWOA algorithm is evaluated through simulation analysis and compared with established benchmark cluster head selection schemes such as SFA- Cluster Head Selection, FCGWO-Cluster Head Selection, and ABC-Cluster Head Selection. The experimental results of the RMOWOA algorithm demonstrate reduced energy consumption and extended network lifespan by effectively balancing the ratio of alive and dead nodes in WSNs.

无线传感器网络(WSN)由传感器节点组成,这些节点检测、处理并向基站单元传输各类信息。开发高能效路由协议是 WSN 面临的一项重要挑战。本研究提出了一种名为 RMOWOA(即 "改进的多目标鲸鱼优化算法")的新算法,它利用不同半径的同心圆来划分网络。圆被划分为八个相等的扇区,扇区和层的交叉处形成区段。每个区段包含少量节点,并根据特定标准选择一个代理。每个区域内的节点将检测到的信息传送给相应的代理或簇头。这一过程不断重复,直到基站接收到数据。代理的选择以基于 WOA 的方法为基础,这种方法以提高网络寿命而著称。被选中的代理汇总数据,执行基于冗余残差数的错误检测和纠正,并将信息转发给该扇区内的下段代理。通过仿真分析评估了所提出的 RMOWOA 算法,并将其与 SFA-簇头选择、FCGWO-簇头选择和 ABC-簇头选择等已确立的基准簇头选择方案进行了比较。RMOWOA 算法的实验结果表明,该算法通过有效平衡 WSN 中生死节点的比例,降低了能耗,延长了网络寿命。
{"title":"RMOWOA: A Revamped Multi-Objective Whale Optimization Algorithm for Maximizing the Lifetime of a Network in Wireless Sensor Networks","authors":"Bhanu Dwivedi, Bachu Dushmanta Kumar Patro","doi":"10.1007/s10766-024-00775-y","DOIUrl":"https://doi.org/10.1007/s10766-024-00775-y","url":null,"abstract":"<p>Wireless sensor networks (WSNs) consist of sensor nodes that detect, process, and transmit various types of information to a base station unit. The development of energy-efficient routing protocols is a crucial challenge in WSNs. This study proposes a novel algorithm called RMOWOA, i.e., <i>Revamped Multi-Objective Whale Optimization Algorithm</i>, which utilizes concentric circles with different radii to partition the network. The circles are divided into eight equal sectors, and sections are formed at the intersections of sectors and layers. Each section contains a small number of nodes, and an agent is selected based on specific criteria. The nodes within each section transmit their detected information to the corresponding agent or cluster head. This process is repeated until the base station receives the data. The selection of agents is based on a WOA-based approach, known for enhancing the network's lifetime. The selected agent aggregates the data, performs redundant residue number-based error detection and rectification, and forwards the information to the lower segment's agent within that sector. The proposed RMOWOA algorithm is evaluated through simulation analysis and compared with established benchmark cluster head selection schemes such as SFA- Cluster Head Selection, FCGWO-Cluster Head Selection, and ABC-Cluster Head Selection. The experimental results of the RMOWOA algorithm demonstrate reduced energy consumption and extended network lifespan by effectively balancing the ratio of alive and dead nodes in WSNs.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"23 1","pages":""},"PeriodicalIF":1.5,"publicationDate":"2024-08-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141933442","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Optimizing Three-Dimensional Stencil-Operations on Heterogeneous Computing Environments 优化异构计算环境中的三维模版操作
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-06-21 DOI: 10.1007/s10766-024-00769-w
Nina Herrmann, Justus Dieckmann, Herbert Kuchen

Complex algorithms and enormous data sets require parallel execution of programs to attain results in a reasonable amount of time. Both aspects are combined in the domain of three-dimensional stencil operations, for example, computational fluid dynamics. This work contributes to the research on high-level parallel programming by discussing the generalizable implementation of a three-dimensional stencil skeleton that works in heterogeneous computing environments. Two exemplary programs, a gas simulation with the Lattice Boltzmann method, and a mean blur, are executed in a multi-node multi-graphics processing units environment, proving the runtime improvements in heterogeneous computing environments compared to a sequential program.

复杂的算法和庞大的数据集要求程序并行执行,以便在合理的时间内获得结果。在三维模版操作领域(例如计算流体动力学),这两方面都得到了结合。这项工作通过讨论可在异构计算环境中运行的三维模版骨架的通用实现,为高级并行编程研究做出了贡献。在多节点多图形处理单元环境中执行了两个示例程序,一个是采用格点玻尔兹曼法的气体模拟,另一个是均值模糊,证明了与顺序程序相比,异构计算环境下运行时间的改善。
{"title":"Optimizing Three-Dimensional Stencil-Operations on Heterogeneous Computing Environments","authors":"Nina Herrmann, Justus Dieckmann, Herbert Kuchen","doi":"10.1007/s10766-024-00769-w","DOIUrl":"https://doi.org/10.1007/s10766-024-00769-w","url":null,"abstract":"<p>Complex algorithms and enormous data sets require parallel execution of programs to attain results in a reasonable amount of time. Both aspects are combined in the domain of three-dimensional stencil operations, for example, computational fluid dynamics. This work contributes to the research on high-level parallel programming by discussing the generalizable implementation of a three-dimensional stencil skeleton that works in heterogeneous computing environments. Two exemplary programs, a gas simulation with the Lattice Boltzmann method, and a mean blur, are executed in a multi-node multi-graphics processing units environment, proving the runtime improvements in heterogeneous computing environments compared to a sequential program.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"24 1","pages":""},"PeriodicalIF":1.5,"publicationDate":"2024-06-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141506740","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Orchestration Extensions for Interference- and Heterogeneity-Aware Placement for Data-Analytics 面向数据分析的具有干扰和异构意识的布局的协调扩展
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-05-28 DOI: 10.1007/s10766-024-00771-2
Achilleas Tzenetopoulos, Dimosthenis Masouros, Sotirios Xydis, Dimitrios Soudris

Today, there is an ever-increasing number of workloads pushed and executed on the Cloud. Data center operators and Cloud providers have embraced application co-location and multi-tenancy as first-class system design concerns to effectively serve and manage these huge computational demands. In addition, the continuous advancements in the computers’ hardware technology have made it possible to seamlessly leverage heterogeneous pools of physical machines in data center environments. Even though current modern Cloud schedulers and orchestrators adopt application-aware policies to achieve automation of time-consuming management tasks at scale, e.g., resource provisioning, they still rely on coarse-grained system metrics, such as CPU and/or memory utilization to place incoming applications, thus, not considering (1) interference effects that are provoked by co-located tasks, and (2) the impact on performance caused by the diversity of heterogeneous systems’ characteristics. The lack of such knowledge in existing state-of-the-art orchestration solutions results in their inability to perform efficient allocations, which negatively impacts the overall latency distribution delivered by the infrastructure. In this paper, to alleviate this inefficiency, we present a machine learning (ML) based Cloud orchestration extension that takes into account both resource interference and heterogeneity. The framework adequately schedules data-analytics applications on a pool of heterogeneous resources. We evaluate our proposed solution on different application mixes and co-location scenarios. We show that the proposed framework improves the tail latency of the distribution of the deployed applications by up to 3.6x compared to the state-of-the-art Kubernetes scheduler.

如今,在云上推送和执行的工作负载越来越多。数据中心运营商和云计算提供商已将应用程序共同定位和多租户作为系统设计的首要考虑因素,以便有效地服务和管理这些巨大的计算需求。此外,计算机硬件技术的不断进步使得在数据中心环境中无缝利用异构物理机池成为可能。尽管当前的现代云调度器和协调器采用了应用感知策略,以实现耗时的大规模管理任务(如资源调配)的自动化,但它们仍然依赖于粗粒度的系统指标,如 CPU 和/或内存利用率,来调配传入的应用,因此没有考虑到:(1)共用位置的任务所产生的干扰效应;(2)异构系统特性的多样性对性能的影响。现有的先进协调解决方案缺乏这方面的知识,因此无法进行有效的分配,这对基础设施提供的整体延迟分布产生了负面影响。在本文中,为了缓解这种低效率问题,我们提出了一种基于机器学习(ML)的云协调扩展,它将资源干扰和异构性都考虑在内。该框架能在异构资源池上充分调度数据分析应用。我们在不同的应用组合和共同定位场景中评估了我们提出的解决方案。结果表明,与最先进的 Kubernetes 调度器相比,拟议框架可将已部署应用的尾部延迟提高 3.6 倍。
{"title":"Orchestration Extensions for Interference- and Heterogeneity-Aware Placement for Data-Analytics","authors":"Achilleas Tzenetopoulos, Dimosthenis Masouros, Sotirios Xydis, Dimitrios Soudris","doi":"10.1007/s10766-024-00771-2","DOIUrl":"https://doi.org/10.1007/s10766-024-00771-2","url":null,"abstract":"<p>Today, there is an ever-increasing number of workloads pushed and executed on the Cloud. Data center operators and Cloud providers have embraced application co-location and multi-tenancy as first-class system design concerns to effectively serve and manage these huge computational demands. In addition, the continuous advancements in the computers’ hardware technology have made it possible to seamlessly leverage heterogeneous pools of physical machines in data center environments. Even though current modern Cloud schedulers and orchestrators adopt application-aware policies to achieve automation of time-consuming management tasks at scale, e.g., resource provisioning, they still rely on coarse-grained system metrics, such as CPU and/or memory utilization to place incoming applications, thus, not considering (1) interference effects that are provoked by co-located tasks, and (2) the impact on performance caused by the diversity of heterogeneous systems’ characteristics. The lack of such knowledge in existing state-of-the-art orchestration solutions results in their inability to perform efficient allocations, which negatively impacts the overall latency distribution delivered by the infrastructure. In this paper, to alleviate this inefficiency, we present a machine learning (ML) based Cloud orchestration extension that takes into account both resource interference and heterogeneity. The framework adequately schedules data-analytics applications on a pool of heterogeneous resources. We evaluate our proposed solution on different application mixes and co-location scenarios. We show that the proposed framework improves the tail latency of the distribution of the deployed applications by up to 3.6x compared to the state-of-the-art Kubernetes scheduler.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"65 1","pages":""},"PeriodicalIF":1.5,"publicationDate":"2024-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141169831","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
High-Level Programming of FPGA-Accelerated Systems with Parallel Patterns 利用并行模式对 FPGA 加速系统进行高级编程
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-05-27 DOI: 10.1007/s10766-024-00770-3
Björn Birath, August Ernstsson, John Tinnerholm, Christoph Kessler

As a result of frequency and power limitations, multi-core processors and accelerators are becoming more and more prevalent in today’s systems. To fully utilize such systems, heterogeneous parallel programming is needed, but this introduces new complexities to the development. High-level frameworks such as SkePU have been introduced to help alleviate these complexities. SkePU is a skeleton programming framework based on a set of programming constructs implementing computational parallel patterns, while presenting a sequential interface to the programmer. Using the various skeleton backends, SkePU programs can execute, without source code modification, on multiple types of hardware such as CPUs, GPUs, and clusters. This paper presents the design and implementation of a new backend for SkePU, adding support for FPGAs. We also evaluate the effect of FPGA-specific optimizations in the new backend and compare it with the existing GPU backend, where the actual devices used are of similar vintage and price point. For simple examples, we find that the FPGA-backend’s performance is similar to that of the existing backend for GPUs, while it falls behind in more complex tasks. Finally, some shortcomings in the backend are highlighted and discussed, along with potential solutions.

由于频率和功耗的限制,多核处理器和加速器在当今系统中越来越普遍。为了充分利用这些系统,需要进行异构并行编程,但这给开发带来了新的复杂性。SkePU 等高级框架的出现有助于缓解这些复杂性。SkePU 是一个骨架编程框架,基于一套实现计算并行模式的编程结构,同时为程序员提供一个顺序界面。利用各种骨架后端,SkePU 程序无需修改源代码即可在 CPU、GPU 和集群等多种类型的硬件上执行。本文介绍了 SkePU 新后端的设计和实现,增加了对 FPGA 的支持。我们还评估了新后端中针对 FPGA 的优化效果,并将其与现有的 GPU 后端进行了比较。对于简单的示例,我们发现 FPGA 后端的性能与现有 GPU 后端的性能相似,而在更复杂的任务中,FPGA 后端的性能则落后于 GPU 后端。最后,我们强调并讨论了后端的一些不足之处以及潜在的解决方案。
{"title":"High-Level Programming of FPGA-Accelerated Systems with Parallel Patterns","authors":"Björn Birath, August Ernstsson, John Tinnerholm, Christoph Kessler","doi":"10.1007/s10766-024-00770-3","DOIUrl":"https://doi.org/10.1007/s10766-024-00770-3","url":null,"abstract":"<p>As a result of frequency and power limitations, multi-core processors and accelerators are becoming more and more prevalent in today’s systems. To fully utilize such systems, heterogeneous parallel programming is needed, but this introduces new complexities to the development. High-level frameworks such as SkePU have been introduced to help alleviate these complexities. SkePU is a skeleton programming framework based on a set of programming constructs implementing computational parallel patterns, while presenting a sequential interface to the programmer. Using the various skeleton backends, SkePU programs can execute, without source code modification, on multiple types of hardware such as CPUs, GPUs, and clusters. This paper presents the design and implementation of a new backend for SkePU, adding support for FPGAs. We also evaluate the effect of FPGA-specific optimizations in the new backend and compare it with the existing GPU backend, where the actual devices used are of similar vintage and price point. For simple examples, we find that the FPGA-backend’s performance is similar to that of the existing backend for GPUs, while it falls behind in more complex tasks. Finally, some shortcomings in the backend are highlighted and discussed, along with potential solutions.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"52 1","pages":""},"PeriodicalIF":1.5,"publicationDate":"2024-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141169753","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
GraphTango: A Hybrid Representation Format for Efficient Streaming Graph Updates and Analysis GraphTango:用于高效流式图更新和分析的混合表示格式
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-05-18 DOI: 10.1007/s10766-024-00768-x
Alif Ahmed, Farzana Ahmed Siddique, Kevin Skadron

Streaming graph processing performs batched updates and analytics on a time-evolving graph. The underlying representation format of the graph largely determines the throughputs of these updates and analytics phases. Existing representation formats usually employ variations of hash tables or adjacency lists. However, a recent study showed that the adjacency-list-based approaches perform poorly on heavy-tailed graphs, and the hash table-based approaches suffer on short-tailed graphs. We propose GraphTango, a hybrid representation format that provides excellent update and analytics throughput regardless of the graph’s degree distribution. GraphTango dynamically switches among three different formats based on a vertex’s degree: (i) Low-degree vertices store the edges directly with the neighborhood metadata, confining accesses to a single cache line, (2) Medium-degree vertices use adjacency lists, and (3) High-degree vertices use hash tables as well as adjacency lists. In this case, the adjacency list provides fast traversal during the analytics phase, while the hash table provides constant-time lookups during the update phase. We further optimized the performance by designing an open-addressing-based hash table that fully utilizes every fetched cache line. In addition, we developed a thread-local lock-free memory pool that allows fast growing/shrinking of the adjacency lists and hash tables in a multi-threaded environment. We evaluated GraphTango with the help of the SAGA-Bench framework and compared it with four other representation formats: Stinger, Degree-aware Robin Hood Hashing, and two adjacency list-based formats with different workload balancing scheme. On average, GraphTango provides 4.5x higher insertion throughput, 3.2x higher deletion throughput, and 1.1x higher analytics throughput over the next best format. Furthermore, we integrated GraphTango with the state-of-the-art graph processing frameworks DZiG and RisGraph. Compared to the vanilla DZiG and vanilla RisGraph, [GraphTango + DZiG] and [GraphTango + RisGraph] reduces the average batch processing time by 2.3x and 1.5x, respectively.

流图处理是对随时间变化的图进行分批更新和分析。图的底层表示格式在很大程度上决定了这些更新和分析阶段的吞吐量。现有的表示格式通常采用哈希表或邻接表的变体。然而,最近的一项研究表明,基于邻接表的方法在重尾图上表现不佳,而基于哈希表的方法在短尾图上表现不佳。我们提出的 GraphTango 是一种混合表示格式,无论图的度数分布如何,它都能提供出色的更新和分析吞吐量。GraphTango 可根据顶点的度数在三种不同格式之间动态切换:(i) 低度顶点直接存储边与邻域元数据,将访问限制在单个缓存行内;(2) 中度顶点使用邻接表;(3) 高度顶点使用哈希表以及邻接表。在这种情况下,邻接表在分析阶段提供快速遍历,而哈希表在更新阶段提供恒定时间查找。通过设计基于开放式寻址的哈希表,我们进一步优化了性能,充分利用了每一条获取的缓存线。此外,我们还开发了一个线程本地无锁内存池,允许在多线程环境中快速增长/收缩邻接表和哈希表。我们借助 SAGA-Bench 框架对 GraphTango 进行了评估,并将其与其他四种表示格式进行了比较:Stinger、度感知罗宾汉散列和两种基于邻接表的格式,并采用了不同的工作量平衡方案。平均而言,GraphTango 的插入吞吐量比次好格式高出 4.5 倍,删除吞吐量高出 3.2 倍,分析吞吐量高出 1.1 倍。此外,我们还将 GraphTango 与最先进的图形处理框架 DZiG 和 RisGraph 集成。与原版 DZiG 和原版 RisGraph 相比,[GraphTango + DZiG] 和 [GraphTango + RisGraph] 的平均批处理时间分别缩短了 2.3 倍和 1.5 倍。
{"title":"GraphTango: A Hybrid Representation Format for Efficient Streaming Graph Updates and Analysis","authors":"Alif Ahmed, Farzana Ahmed Siddique, Kevin Skadron","doi":"10.1007/s10766-024-00768-x","DOIUrl":"https://doi.org/10.1007/s10766-024-00768-x","url":null,"abstract":"<p>Streaming graph processing performs batched updates and analytics on a time-evolving graph. The underlying representation format of the graph largely determines the throughputs of these updates and analytics phases. Existing representation formats usually employ variations of hash tables or adjacency lists. However, a recent study showed that the adjacency-list-based approaches perform poorly on heavy-tailed graphs, and the hash table-based approaches suffer on short-tailed graphs. We propose GraphTango, a hybrid representation format that provides excellent update and analytics throughput regardless of the graph’s degree distribution. GraphTango dynamically switches among three different formats based on a vertex’s degree: (i) Low-degree vertices store the edges directly with the neighborhood metadata, confining accesses to a single cache line, (2) Medium-degree vertices use adjacency lists, and (3) High-degree vertices use hash tables as well as adjacency lists. In this case, the adjacency list provides fast traversal during the analytics phase, while the hash table provides constant-time lookups during the update phase. We further optimized the performance by designing an open-addressing-based hash table that fully utilizes every fetched cache line. In addition, we developed a thread-local lock-free memory pool that allows fast growing/shrinking of the adjacency lists and hash tables in a multi-threaded environment. We evaluated GraphTango with the help of the SAGA-Bench framework and compared it with four other representation formats: Stinger, Degree-aware Robin Hood Hashing, and two adjacency list-based formats with different workload balancing scheme. On average, GraphTango provides 4.5x higher insertion throughput, 3.2x higher deletion throughput, and 1.1x higher analytics throughput over the <i>next best</i> format. Furthermore, we integrated GraphTango with the state-of-the-art graph processing frameworks DZiG and RisGraph. Compared to the <i>vanilla DZiG</i> and <i>vanilla RisGraph</i>, [<i>GraphTango + DZiG</i>] and [<i>GraphTango + RisGraph</i>] reduces the average batch processing time by 2.3x and 1.5x, respectively.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"20 1","pages":""},"PeriodicalIF":1.5,"publicationDate":"2024-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141061362","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Yet Another Lock-Free Atom Table Design for Scalable Symbol Management in Prolog 另一种用于 Prolog 中可扩展符号管理的无锁原子表设计
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-03-23 DOI: 10.1007/s10766-024-00766-z

Abstract

Prolog systems rely on an atom table for symbol management, which is usually implemented as a dynamically resizeable hash table. This is ideal for single threaded execution, but can become a bottleneck in a multi-threaded scenario. In this work, we replace the original atom table implementation in the YAP Prolog system with a lock-free hash-based data structure, named Lock-free Hash Tries (LFHT), in order to provide efficient and scalable symbol management. Being lock-free, the new implementation also provides better guarantees, namely, immunity to priority inversion, to deadlocks and to livelocks. Performance results show that the new lock-free LFHT implementation has better results in single threaded execution and much better scalability than the original lock based dynamically resizing hash table.

抽象 Prolog 系统依赖原子表进行符号管理,原子表通常以动态可调整大小的哈希表的形式实现。这非常适合单线程执行,但在多线程情况下会成为瓶颈。在这项工作中,我们用一种名为 "Lock-free Hash Tries (LFHT) "的无锁哈希数据结构取代了 YAP Prolog 系统中原有的原子表实现,以提供高效、可扩展的符号管理。由于无锁,新的实现也提供了更好的保证,即抗优先级反转、抗死锁和抗活锁。性能结果表明,新的无锁 LFHT 实现在单线程执行中的效果更好,可扩展性也比原来基于锁的动态大小哈希表好很多。
{"title":"Yet Another Lock-Free Atom Table Design for Scalable Symbol Management in Prolog","authors":"","doi":"10.1007/s10766-024-00766-z","DOIUrl":"https://doi.org/10.1007/s10766-024-00766-z","url":null,"abstract":"<h3>Abstract</h3> <p>Prolog systems rely on an atom table for symbol management, which is usually implemented as a dynamically resizeable hash table. This is ideal for single threaded execution, but can become a bottleneck in a multi-threaded scenario. In this work, we replace the original atom table implementation in the YAP Prolog system with a lock-free hash-based data structure, named Lock-free Hash Tries (LFHT), in order to provide efficient and scalable symbol management. Being lock-free, the new implementation also provides better guarantees, namely, immunity to priority inversion, to deadlocks and to livelocks. Performance results show that the new lock-free LFHT implementation has better results in single threaded execution and much better scalability than the original lock based dynamically resizing hash table.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"161 1","pages":""},"PeriodicalIF":1.5,"publicationDate":"2024-03-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140201434","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Automatic Discovery of Collective Communication Patterns in Parallelized Task Graphs 自动发现并行化任务图中的集体通信模式
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS Pub Date : 2024-03-22 DOI: 10.1007/s10766-024-00767-y
Fabian Knorr, Philip Salzmann, Peter Thoman, Thomas Fahringer

Collective communication APIs equip MPI vendors with the necessary context to optimize cluster-wide operations on the basis of theoretical complexity models and characteristics of the involved interconnects. Modern HPC runtime systems with a programmability focus can perform dependency analysis to eliminate the need for manual communication entirely. Profiting from optimized collective routines in this context often requires global analysis of the implicit point-to-point communication pattern or tight constrains on the data access patterns allowed inside kernels. The Celerity API provides a high degree of freedom for both runtime implementors and application developers by tieing transparent work assignment to data access patterns through user-defined range-mapper functions. Canonically, data dependencies are resolved through an intra-node coherence model and inter-node point-to-point communication. This paper presents Collective Pattern Discovery (CPD), a fully distributed, coordination-free method for detecting collective communication patterns on parallelized task graphs. Through extensive scheduling and communication microbenchmarks as well as a strong scaling experiment on a compute-intensive application, we demonstrate that CPD can achieve substantial performance gains in the Celerity model.

集体通信应用程序接口为 MPI 厂商提供了必要的环境,以便根据理论复杂性模型和相关互连的特性优化整个集群的操作。注重可编程性的现代高性能计算运行时系统可以执行依赖性分析,从而完全消除手动通信的需要。在这种情况下,要从优化的集体例程中获益,往往需要对隐含的点对点通信模式进行全局分析,或对内核中允许的数据访问模式进行严格限制。Celerity 应用程序接口(API)通过用户定义的范围映射器(range-mapper)函数,将透明的工作分配与数据访问模式联系起来,从而为运行时实现者和应用程序开发者提供了高度的自由度。从规范上讲,数据依赖性是通过节点内一致性模型和节点间点对点通信来解决的。本文介绍了集体模式发现(CPD),这是一种在并行化任务图上检测集体通信模式的完全分布式、无需协调的方法。通过广泛的调度和通信微基准测试以及计算密集型应用的强扩展实验,我们证明了 CPD 可以在 Celerity 模型中实现大幅性能提升。
{"title":"Automatic Discovery of Collective Communication Patterns in Parallelized Task Graphs","authors":"Fabian Knorr, Philip Salzmann, Peter Thoman, Thomas Fahringer","doi":"10.1007/s10766-024-00767-y","DOIUrl":"https://doi.org/10.1007/s10766-024-00767-y","url":null,"abstract":"<p>Collective communication APIs equip MPI vendors with the necessary context to optimize cluster-wide operations on the basis of theoretical complexity models and characteristics of the involved interconnects. Modern HPC runtime systems with a programmability focus can perform dependency analysis to eliminate the need for manual communication entirely. Profiting from optimized collective routines in this context often requires global analysis of the implicit point-to-point communication pattern or tight constrains on the data access patterns allowed inside kernels. The Celerity API provides a high degree of freedom for both runtime implementors and application developers by tieing transparent work assignment to data access patterns through user-defined range-mapper functions. Canonically, data dependencies are resolved through an intra-node coherence model and inter-node point-to-point communication. This paper presents Collective Pattern Discovery (CPD), a fully distributed, coordination-free method for detecting collective communication patterns on parallelized task graphs. Through extensive scheduling and communication microbenchmarks as well as a strong scaling experiment on a compute-intensive application, we demonstrate that CPD can achieve substantial performance gains in the Celerity model.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"18 1","pages":""},"PeriodicalIF":1.5,"publicationDate":"2024-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140201435","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
International Journal of Parallel Programming
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1