返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • 醉染图书持久内存编程9787111676744
  • 正版全新
    • 作者: (美)史蒂夫·斯卡格尔著 | (美)史蒂夫·斯卡格尔编 | (美)史蒂夫·斯卡格尔译 | (美)史蒂夫·斯卡格尔绘
    • 出版社: 机械工业出版社
    • 出版时间:2021-04-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    醉染图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: (美)史蒂夫·斯卡格尔著| (美)史蒂夫·斯卡格尔编| (美)史蒂夫·斯卡格尔译| (美)史蒂夫·斯卡格尔绘
    • 出版社:机械工业出版社
    • 出版时间:2021-04-01
    • 版次:1
    • 印次:1
    • 页数:320
    • 开本:16开
    • ISBN:9787111676744
    • 版权提供:机械工业出版社
    • 作者:(美)史蒂夫·斯卡格尔
    • 著:(美)史蒂夫·斯卡格尔
    • 装帧:平装
    • 印次:1
    • 定价:119.00
    • ISBN:9787111676744
    • 出版社:机械工业出版社
    • 开本:16开
    • 印刷时间:暂无
    • 语种:暂无
    • 出版时间:2021-04-01
    • 页数:320
    • 外部编号:1202323895
    • 版次:1
    • 成品尺寸:暂无

    译者序

    前言

    致谢

    作者简介

    贡献者简介

    技术评审者简介

    译者简介

    章 持久内存编程简介 1

    1.1 不错示例程序 2

    1.1.1 有何区别 4

    1.1.2 能差异 5

    1.1.3 程序复杂 5

    1.1.4 libpmemkv如何运行 5

    1.2 后文提要 6

    1.3 总结 7

    第2章 持久内存架构 8

    2.1 持久内存的特

    2.2 持久内存的平台支持 9

    . 缓存层级 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 持久内存感知型文件系统

    3.4 存映文件 24

    3.5 持久内存直接访问 30

    3.6 总结 37

    第4章 持久内存编程的基本概念 38

    4.1 有何区别 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 针对硬件配置进行调优 41

    4.7 总结 42

    第5章 持久内存开发套件简介 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 创建内存池 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 保留/发布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.. 创建快照 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 简化持久 5

    8.5 生态系统 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

    0章 持久内存编程的易失途 104

    10.1 简介 104

    10.2 背景 105

    10.2.1 内存分配 105

    10.2.2 工作原理 105

    10.. 支持的内存“类型” 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::allocatr 15

    10.5.2 创建字符串向量 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

    1章 设计适用于持久内存的数据结构 127

    11.1 连续数据结构和碎片化 127

    11.1.1 内部和外部碎片化 127

    11.1.2 原子和一致 128

    11.1.3 选择持久化 131

    11.1.4 示例数据结构 131

    11.2 总结 140

    2章 调试持久内存应用程序 141

    12.1 用于Valgrind的pmemcheck 142

    12.1.1 栈溢出示例 142

    12.1.2 内存泄漏示例 143

    12.2 Intel Inspector——Persistence Inspectr 44

    12.2.1 栈溢出示例 144

    12.2.2 内存泄漏示例 145

    1. 常见的持久内存编程问题 146

    1..1 非持久存储 146

    1..2 数据存储未添加到事务 157

    1.. 将一个内存对象添加至两个不同的事务 160

    1..4 内存覆写 165

    1..5 非必要刷新 166

    1.. 乱序写入 170

    12.4 总结 179

    3章 实际应用程序中实现持久 10

    13.1 数据库示例 180

    13.2 不同的持久内存实现方式 181

    13.3 开发持久内存感知型MariaDB*存储引擎 181

    13.3.1 了解存储层 182

    13.3.2 创建存储引擎类 183

    13.4 总结 191

    4章 并发和持久内存 192

    14.1 事务与多线程 192

    14.2 持久内存上的互斥体 196

    14.3 原子操作与持久内存 198

    14.4 持久内存的并发数据结构 198

    14.4.1 并发有序映 199

    14.4.2 并发散列映 202

    14.5 总结 202

    5章 分析与能 204

    15.1 简介 204

    15.2 能分析概念 204

    15.2.1 计算受限与内存受限 204

    15.2.2 内存与内存容量 205

    15.. 读取与写入能 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 优化面向持久内存的软件 212

    15.5 总结 215

    6章 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 持久分配:事务持久分配器的接口 2

    16.6 持久内存堆管理:持久内存分配器设计 2

    16.7 AC事务:高效的底层持久事务 226

    16.8 延迟重新初始化变量:将易失状态存储在持久内存上 227

    16.9 总结 228

    7章 可靠、可与可维护 229

    17.1 处理不可纠正错误 229

    17.1.1 已使用的不可纠正错误处理 0

    17.1.2 未使用的不可纠正错误处理 1

    17.1.3 清除不可纠正错误 4

    17.2 设备状态 4

    17.2.1 ACPI定义的设备状态函数(_NCH,_NBS)

    17.2.2 定应商的设备状态(_DSM)

    17.. ACPI NFIT状态事件通知

    17.3 不安全/异常关机

    17.4 总结

    8章 远程持久内存

    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

    9章 不错主题 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调优选项 261

    19.1.8 自动NUMA平衡 261

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

    19.3 mmap()的MAP_SYNC标记 264

    19.4 总结 265

    附录A 如何在Linux上安装NDCTL和DAXCTL 266

    附录B 如何安装持久内存开发套件 271

    附录C 如何在Linux和Windows上安装IPMCTL 277

    附录D 面向持久内存的Java 282

    附录E 远程持久内存复制的未来 289

    术语表 292

    吴国安(Dennis),2005年硕十于上海交通大学,目前是英特尔持久内存工程部经理,在IA架构、能优化、软件协同硬件开发方面有多年工作经验。目前主要支持客户应用英特尔数据中心级持久化内存进行软件开发和应用适配,提供IA架构上的客户方案技术咨询和支持。在2012年加入英特尔之前,任职意法半导体,负责数字电视软件开发和集成的工作。

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购