中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊

包郵 持久內存編程

出版社:機械工業(yè)出版社出版時間:2021-04-01
開本: 24cm 頁數: 24,293頁
中 圖 價:¥66.4(5.6折) 定價  ¥119.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

持久內存編程 版權信息

  • ISBN:9787111676744
  • 條形碼:9787111676744 ; 978-7-111-67674-4
  • 裝幀:一般膠版紙
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>>

持久內存編程 本書特色

適讀人群 :本書主要面向具有一定經驗的應用程序開發(fā)人員,也適用于更廣泛的讀者,如系統管理員和架構師、學生、講師,以及學術研究人員等。系統設計人員、內核開發(fā)人員,以及任何對這項全球首本持久內存編程和應用的系統方法指南,本書強調以工程實踐為導向,通過大量的示例,全方位介紹持久內存架構、硬件及操作系統支持的整體技術細節(jié),幫助開發(fā)人員了解持久內存編程的核心概念以及持久內存編程的開發(fā)庫。 持久內存技術是內存領域革命性的技術。從根本上顛覆傳統的內存-存儲架構,對整個產業(yè)界和學術界產生了深遠的影響。 無論是初學者,還是經驗豐富的程序員,都可以使用本書作為持久內存編程的綜合指南,了解持久內存對軟硬件的要求,以及持久內存在提升性能、縮短應用程序啟動時間方面的巨大潛力。 【讀者對象】 本書主要面向具有一定經驗的應用程序開發(fā)人員,也適用于更廣泛的讀者,如系統管理員和架構師、學生、講師,以及學術研究人員等。此外,系統設計人員、內核開發(fā)人員,以及任何對這項新興技術感興趣的人都可以在本書中找到實用的內容。

持久內存編程 內容簡介

本書介紹了相關技術及其應用前景, 涵蓋持久內存的操作系統和硬件要求, 以及如何使用模擬和真實的持久內存硬件創(chuàng)建開發(fā)環(huán)境。內容包括: 持久內存編程簡介 ; 持久內存架構等。

持久內存編程 目錄

第1章 持久內存編程簡介 1

1.1 高級示例程序 2

1.1.1 有何區(qū)別 4

1.1.2 性能差異 5

1.1.3 程序復雜性 5

1.1.4 libpmemkv如何運行 5

1.2 后文提要 6

1.3 總結 7

第2章 持久內存架構 8

2.1 持久內存的特性 8

2.2 持久內存的平臺支持 9

2.3 緩存層級 10

2.4 電源故障保護域 11

2.5 刷新、排序和屏障操作的需求 13

2.6 數據可見性 16

2.7 用于持久內存的英特爾機器指令 16

2.8 檢測平臺功能 17

2.9 應用程序啟動與恢復 18

2.10 后文提要 20

2.11 總結 20

第3章 持久內存的操作系統支持 21

3.1 內存和存儲的操作系統支持 21

3.2 持久內存用作塊存儲 22

3.3 持久內存感知型文件系統 23

3.4 內存映射文件 24

3.5 持久內存直接訪問 30

3.6 總結 37

第4章 持久內存編程的基本概念 38

4.1 有何區(qū)別 38

4.2 原子更新 39

4.3 事務 39

4.3.1 原子性 39

4.3.2 一致性 40

4.3.3 隔離性 40

4.3.4 持久性 40

4.4 刷新不具有事務性 41

4.5 啟動時職責 41

4.6 針對硬件配置進行調優(yōu) 41

4.7 總結 42

第5章 持久內存開發(fā)套件簡介 43

5.1 背景 43

5.2 選擇正確的語義 44

5.3 易失性庫 44

5.3.1 libmemkind 44

5.3.2 libvmemcache 45

5.3.3 libvmem 46

5.4 持久性庫 46

5.4.1 libpmem 46

5.4.2 libpmemobj 46

5.4.3 libpmemobj-cpp 47

5.4.4 libpmemkv 47

5.4.5 libpmemlog 47

5.4.6 libpmemblk 48

5.5 工具和命令程序 48

5.5.1 pmempool 48

5.5.2 pmemcheck 48

5.5.3 pmreorder 49

5.6 總結 49

第6章 libpmem:底層持久內存支持 50

6.1 使用庫 51

6.2 映射文件 51

6.3 復制到持久內存 52

6.4 分解刷新步驟 53

6.5 總結 54

第7章 libpmemobj:原生事務性對象存儲 55

7.1 什么是libpmemobj 55

7.2 為什么不使用malloc() 55

7.3 組合操作 56

7.4 內存池 56

7.4.1 創(chuàng)建內存池 56

7.4.2 池對象指針和根對象 59

7.4.3 打開內存池并從內存池中讀取數據 60

7.5 內存池集 61

7.5.1 串聯池集 61

7.5.2 副本池集 62

7.6 管理內存池和池集 62

7.7 類型化對象標識符 63

7.8 分配內存 63

7.9 持久保存數據 63

7.9.1 原子操作 64

7.9.2 保留/發(fā)布API 66

7.9.3 事務API 68

7.9.4 可選標記 71

7.9.5 持久保存數據總結 71

7.10 libpmemobj的API可提供保障 71

7.11 管理庫操作 72

7.12 調試與錯誤處理 72

7.13 總結 74

第8章 libpmemobj-cpp:自適應語言C++和持久內存 75

8.1 簡介 75

8.2 元編程 75

8.2.1 持久指針 76

8.2.2 事務 76

8.2.3 創(chuàng)建快照 77

8.2.4 分配 79

8.3 C++標準限制 80

8.3.1 對象的生命周期 80

8.3.2 平凡類型 81

8.3.3 對象布局 82

8.3.4 指針 83

8.3.5 限制總結 85

8.4 簡化持久性 85

8.5 生態(tài)系統 91

8.5.1 持久容器 91

8.5.2 持久容器示例 91

8.6 總結 94

第9章 pmemkv:持久內存鍵值存儲 95

9.1 pmemkv架構 97

9.2 電話簿示例 99

9.3 讓持久內存更靠近云 102

9.4 總結 103

第10章 持久內存編程的易失性用途 104

10.1 簡介 104

10.2 背景 105

10.2.1 內存分配 105

10.2.2 工作原理 105

10.2.3 支持的內存“類型” 105

10.3 memkind API 107

10.3.1 類型管理API 107

10.3.2 堆管理API 111

10.3.3 類型配置管理 112

10.3.4 更多memkind代碼示例 113

10.4 面向PMEM類型的C++分配器 113

10.4.1 pmem::allocator方法 114

10.4.2 嵌套容器 114

10.5 C++示例 114

10.5.1 使用pmem::allocator 115

10.5.2 創(chuàng)建字符串向量 115

10.6 使用持久內存擴展易失性內存 116

10.7 libvmemcache:面向大容量持久內存的高效易失性鍵值緩存 120

10.7.1 libvmemcache概述 120

10.7.2 libvmemcache設計 122

10.7.3 使用libvmemcache 124

10.8 總結 126

第11章 設計適用于持久內存的數據結構 127

11.1 連續(xù)數據結構和碎片化 127

11.1.1 內部和外部碎片化 127

11.1.2 原子性和一致性 128

11.1.3 選擇性持久化 131

11.1.4 示例數據結構 131

11.2 總結 140

第12章 調試持久內存應用程序 141

12.1 用于Valgrind的pmemcheck 142

12.1.1 棧溢出示例 142

12.1.2 內存泄漏示例 143

12.2 Intel Inspector?—?Persistence Inspector 144

12.2.1 棧溢出示例 144

12.2.2 內存泄漏示例 145

12.3 常見的持久內存編程問題 146

12.3.1 非持久存儲 146

12.3.2 數據存儲未添加到事務 157

12.3.3 將一個內存對象添加至兩個不同的事務 160

12.3.4 內存覆寫 165

12.3.5 非必要刷新 166

12.3.6 亂序寫入 170

12.4 總結 179

第13章 實際應用程序中實現持久性 180

13.1 數據庫示例 180

13.2 不同的持久內存實現方式 181

13.3 開發(fā)持久內存感知型MariaDB*存儲引擎 181

13.3.1 了解存儲層 182

13.3.2 創(chuàng)建存儲引擎類 183

13.4 總結 191

第14章 并發(fā)和持久內存 192

14.1 事務與多線程 192

14.2 持久內存上的互斥體 196

14.3 原子操作與持久內存 198

14.4 持久內存的并發(fā)數據結構 198

14.4.1 并發(fā)有序映射 199

14.4.2 并發(fā)散列映射 202

14.5 總結 202

第15章 分析與性能 204

15.1 簡介 204

15.2 性能分析概念 204

15.2.1 計算受限與內存受限 204

15.2.2 內存延時與內存容量 205

15.2.3 讀取與寫入性能 205

15.2.4 內存訪問模式 205

15.2.5 I/O存儲受限的工作負載 205

15.3 確定工作負載是否適合持久內存 206

15.3.1 易失性用例 206

15.3.2 需要持久性的用例 208

15.4 使用持久內存的工作負載性能分析 209

15.4.1 確定工作負載特性 210

15.4.2 內存帶寬與延時 210

15.4.3 持久內存讀寫比率 211

15.4.4 工作集大小與內存占用空間大小 211

15.4.5 非一致內存架構行為 211

15.4.6 優(yōu)化面向持久內存的軟件 212

15.5 總結 215

第16章 PMDK內部組件:重要算法和數據結構 216

16.1 持久內存池:高層架構概覽 216

16.2 內存映射的不確定性:持久內存對象標識符 218

16.3 持久化線程本地存儲:使用通道 220

16.4 確保電源故障原子性:重做日志和撤銷日志 220

16.4.1 事務重做日志 221

16.4.2 事務撤銷日志 221

16.4.3 libpmemobj統一日志 222

16.5 持久分配:事務持久分配器的接口 223

16.6 持久內存堆管理:持久內存分配器設計 223

16.7 ACID事務:高效的底層持久事務 226

16.8 延遲重新初始化變量:將易失性狀態(tài)存儲在持久內存上 227

16.9 總結 228

第17章 可靠性、可用性與可維護性 229

17.1 處理不可糾正錯誤 229

17.1.1 已使用的不可糾正錯誤處理 230

17.1.2 未使用的不可糾正錯誤處理 231

17.1.3 清除不可糾正錯誤 234

17.2 設備狀態(tài) 234

17.2.1 ACPI定義的設備狀態(tài)函數(_NCH,_NBS) 236

17.2.2 特定供應商的設備狀態(tài)(_DSM) 236

17.2.3 ACPI NFIT狀態(tài)事件通知 236

17.3 不安全/異常關機 237

17.4 總結 238

第18章 遠程持久內存 239

18.1 RDMA網絡協議 240

18.2 初始遠程持久內存架構的目標 242

18.3 確保遠程持久性 242

18.3.1 通用遠程復制方法 243

18.3.2 設備遠程復制方法 244

18.4 一般軟件架構 246

18.5 librpmem架構及其在復制中的使用 246

18.5.1 使用內存池集配置遠程復制 249

18.5.2 性能注意事項 249

18.5.3 遠程復制錯誤處理 250

18.5.4 向復制世界“問好” 251

18.6 總結 254

第19章 高級主題 256

19.1 非一致性內存訪問 256

19.1.1 NUMACTL Linux程序 257

19.1.2 NDCTL Linux程序 258

19.1.3 英特爾內存延遲檢查器程序 259

19.1.4 NUMASTAT程序 260

19.1.5 英特爾VTune Profiler —Platform Profiler 261

19.1.6 IPMCTL程序 261

19.1.7 BIOS調優(yōu)選項 261

19.1.8 自動NUMA平衡 261

19.2 使用具有持久內存的卷管理器 263

19.3 mmap()的MAP_SYNC標記 264

19.4 總結 265

附錄A 如何在Linux上安裝NDCTL和DAXCTL 266

附錄B 如何安裝持久內存開發(fā)套件 271

附錄C 如何在Linux和Windows上安裝IPMCTL 277

附錄D 面向持久內存的Java 282

附錄E 遠程持久內存復制的未來 289

術語表 292


展開全部

持久內存編程 作者簡介

【作者簡介】 Steve Scargall是英特爾公司的一名持久內存軟件/云架構師。作為一名技術宣傳官,Steve Scargall負責提供技術的啟動與開發(fā)支持工作,以便將持久內存技術集成到軟件棧、應用程序和硬件架構中,包括在專有和開源開發(fā)工作方面與獨立軟件開發(fā)商(ISV)進行合作,以及與原始設備制造商(OEM)和云服務提供商(CSP)等合作。 Steve曾在英國雷丁大學潛心學習神經網絡、人工智能和機器人等知識,獲得了計算機科學和控制論專業(yè)學士學位。他曾負責為Solaris Kernel、ZFS和UFS文件系統提供x86架構與SPARC性能分析支持,擁有超過19年的豐富經驗。在Sun Microsystems和Oracle工作期間,他負責企業(yè)和云環(huán)境中的DTrace調試工作。 【譯者簡介】 吳國安(Dennis)2005年于上海交通大學碩士研究生畢業(yè)。目前是英特爾持久內存工程部經理,在IA架構、性能優(yōu)化、軟件協同硬件開發(fā)方面有多年工作經驗。目前主要支持客戶應用英特爾數據中心級持久化內存進行軟件開發(fā)和應用適配,提供IA架構上的客戶方案技術咨詢和支持。在2012年加入英特爾之前,任職意法半導體,負責數字電視軟件開發(fā)和集成的工作。 魏劍(Terry Wei)是英特爾傲騰技術方案專家,在英特爾供職16年,曾擔任硬件開發(fā)、客戶技術支持等多種職位,目前主要致力于傲騰存儲技術在中國用戶環(huán)境的技術適配和應用推廣方面的工作。 楊錦文(Jinwen Yang)負責英特爾中國區(qū)云計算和互聯網行業(yè)的戰(zhàn)略規(guī)劃和數據中心產品線的市場導入,并整合內部和外部技術資源,不斷優(yōu)化數據中心的全棧式解決方案,專注于服務客戶的多樣化需求。 吳少慧(Shaohui Wu)目前是英特爾持久內存工程師,擁有清華大學工程物理系的工程學士學位以及北京有色金屬研究總院金屬材料及熱處理專業(yè)的工程碩士學位。2018年入職英特爾之前,從事半導體芯片的產品開發(fā)與制造方面的工作,目前主要致力于傲騰持久內存生態(tài)環(huán)境的建立,并推廣持久內存在中國區(qū)的應用。 許春曄(Chunye Xu)是英特爾公司的持久內存應用工程師,致力于客戶持久內存技術支持和工作負載調試工作,曾在英特爾通信和設備部門負責系統調試和自動化測試工作。他畢業(yè)于河北大學,擁有計算機應用碩士學位。 林翔(Xiang Lin)是英特爾公司的平臺應用工程師,目前主要致力于持久內存的應用和研究工作,包括工作負載的應用和性能優(yōu)化,同時還負責客戶支持方面的工作。此外,他對圖形圖像處理領域有著濃厚的興趣。 王龍(Long Wang)是英特爾公司的軟件工程師,當前主要致力于持久內存相關的數據庫開發(fā)與性能優(yōu)化,同時還參與PMDK項目,例如遠程持久內存訪問的集成開發(fā)工作。 李曉冉(Xiaoran Li)2018年畢業(yè)于日本北海道大學信息與科學學院,目前就職于英特爾數據中心部門,從事傲騰持久內存研發(fā)工作,對系統存儲、云計算、并行計算有濃厚興趣。 斯佩峰(Peifeng Si)是英特爾數據中心部門資深軟件工程師。長期從事x86服務器的固件開發(fā)和軟件性能調優(yōu),目前專注于持久內存對數據庫及存儲類應用的優(yōu)化。 陶少玉(Shaoyu Tao)在英特爾任職軟件工程師超過5年,在加入英特爾的前幾年,他主要從事Linux內核、系統調試相關工作,目前專注于基于持久內存的數據庫優(yōu)化相關工作。 高明(Ming Gao)是英特爾公司中國區(qū)行業(yè)解決方案部互聯網行業(yè)技術總監(jiān),他主要負責英特爾與中國互聯網公司的技術戰(zhàn)略合作,助力中國互聯網公司利用英特爾的產品和技術構建云計算解決方案,對包括人工智能在內的各類工作負載進行性能優(yōu)化。高明獲得了北京郵電大學計算機科學與技術專業(yè)碩士學位。 崔峰 2015年5月起就職于京天石易通信息技術有限公司,至今從業(yè)超過15年,2004年畢業(yè)于英國諾桑比亞大學,獲商業(yè)管理學士學位。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 百方网-百方电气网,电工电气行业专业的B2B电子商务平台 | vr安全体验馆|交通安全|工地安全|禁毒|消防|安全教育体验馆|安全体验教室-贝森德(深圳)科技 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | IP检测-检测您的IP质量| 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 长春网站建设,五合一网站设计制作,免费优化推广-长春网站建设 | 丹佛斯变频器-丹佛斯压力开关-变送器-广州市风华机电设备有限公司 | 福兰德PVC地板|PVC塑胶地板|PVC运动地板|PVC商用地板-中国弹性地板系统专业解决方案领先供应商! 福建成考网-福建成人高考网 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 重庆LED显示屏_显示屏安装公司_重庆LED显示屏批发-彩光科技公司 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 杭州门窗厂家_阳光房_包阳台安装电话-杭州窗猫铝合金门窗 | 换链神器官网-友情链接交换、购买交易于一体的站长平台 | 精密模具-双色注塑模具加工-深圳铭洋宇通 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 天空彩票天下彩,天空彩天空彩票免费资料,天空彩票与你同行开奖,天下彩正版资料大全 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 吸音板,隔音板,吸音材料,吸音板价格,声学材料 - 佛山诺声吸音板厂家 | 管家婆-管家婆软件-管家婆辉煌-管家婆进销存-管家婆工贸ERP | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 硬度计_影像测量仪_维氏硬度计_佛山市精测计量仪器设备有限公司厂家 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 磁力抛光机_磁力研磨机_磁力去毛刺机-冠古设备厂家|维修|租赁【官网】 | 宁波普瑞思邻苯二甲酸盐检测仪,ROHS2.0检测设备,ROHS2.0测试仪厂家 | 爱德华真空泵油/罗茨泵维修,爱发科-比其尔产品供应东莞/杭州/上海等全国各地 | 恒温油槽-恒温水槽-低温恒温槽厂家-宁波科麦仪器有限公司 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | 热风机_工业热风机生产厂家上海冠顶公司提供专业热风机图片价格实惠 | 液压升降平台_剪叉式液压/导轨式升降机_传菜机定做「宁波日腾升降机厂家」 | 糖衣机,除尘式糖衣机,全自动糖衣机,泰州市长江制药机械有限公司 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 异噻唑啉酮-均三嗪-三丹油-1227-中北杀菌剂厂家 | 云阳人才网_云阳招聘网_云阳人才市场_云阳人事人才网_云阳人家招聘网_云阳最新招聘信息 | 广东青藤环境科技有限公司-水质检测 | 拉卡拉POS机官网 - 官方直营POS机办理|在线免费领取 | 学叉车培训|叉车证报名|叉车查询|叉车证怎么考-工程机械培训网 | 衡阳耐适防护科技有限公司——威仕盾焊接防护用品官网/焊工手套/焊接防护服/皮革防护手套 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 |