精华内容
下载资源
问答
  • 内存计算框架

    千次阅读 2020-12-26 20:27:07
    内存计算(In-memory Computing)指采用了各种内存计算在计算过程中让CPU从主内存读写数据,而不是从磁盘读写数据的计算模型。这里的内存技术包括列存储格式、数据分区与压缩、增量写入、无汇总表等方法。目前,内存...

    在这里插入图片描述
    内存计算(In-memory Computing)指采用了各种内存计算在计算过程中让CPU从主内存读写数据,而不是从磁盘读写数据的计算模型。这里的内存技术包括列存储格式、数据分区与压缩、增量写入、无汇总表等方法。目前,内存计算主要是从存储架构(分布式缓存、内存数据库、内存云体系)和计算模型(基于主内存的并行处理、算法下放到数据层)两个方面提出解决方案。
    分布式缓存架构:
    由多台服务器组成一个缓存服务集群,以多节点集群方式提供缓存服务(物理架构上的分布式)
    缓存数据(可看作一个大数据表)分布存储在多台缓存服务器上(逻辑架构上的分布式)
    *

    *分布式缓存体系应用场景:

    1.web页面的缓存。
    (二八原则:80%的访问都集中在20%的热数据上,因此可将高频数据预加载至内存)类似于chrome浏览器相关内存加载功能,浏览器算法会提前预判你的浏览地址,预加载至内存,提高点击反应速度,但会大大消耗内存(这也是chrome浏览器特别迟内存的原因)
    2.应用对象缓存
    缓存系统作为ORM框架的二级缓存对应用访问提供服务,目的为减轻数据库负载压力,加快访问速度。
    3.状态变量缓存
    包括Session会话及应用横向扩展时的状态数据等,这类数据是难以恢复的,要求有高可用性,多用于高可用集群应用。
    4.并行处理
    有大量中间计算结果需要共享。
    5.事件处理
    针对事件流的连续查询和实时处理
    6.极限事物处理
    为事务型业务提高吞吐率,低延时的解决方案,支持高并发事物请求处理,多用于铁路、金融服务、电信等领域(今后我会从金融领域详细讲解)

    内存技术

    1.数据压缩技术
    包括字典编码算法(*是为经常出现字符型难以处理的数据属性作编号,保存其编号能大大减少存储空间,提高访问效率)、高效压缩存储、数据操作
    2.列存储结构
    包括内存数据格式、内存索引等技术
    (列存储在查询时不需要将全部数据读入内存;
    字典编码压缩使得列存储减小了压缩空间,提高了查询效率;
    列存储bitmap操作能够一次快速高效地定位到多条数据;
    因为各列记录之间没有依赖关系,非常利于并行化)
    3.分区
    对数据表划分多节点并行处理,分布式缓存系统主要采用水平划分和垂直划分的方式
    4.无汇总表(无需做数据汇总操作)
    5.只插入差异数据
    为了提高访问效率通常只插入差异化数据(分为主表Main和差异表Delta,主表是高度压缩的完整数据,支持读;差异表只包含少量新增数据,支持写数据操作…系统会定期将差异表中数据更新至主表)

    Memcache工作机制

    Memcache是一个有代表性的高性能分布式内存对象缓存系统,通过缓存数据来提高访问效率。
    Mecache是分布式缓存系统的名称,Mecacheds是缓存服务器程序。
    Mecache分布式计算架构可以将一台机器上的多个Mecached服务器端程序或者分散部署在多个机器上的Mecached服务器程序组成服务端Server。
    后面将会详细说明内存数据库、内存云MenCLoud、Spark内存计算。
    知识点源于《大数据分析与计算》清华大学出版社
    加入了自己对知识点的理解

    展开全文
  • 图像处理16:图像内存计算和类的内存计算 (1)图像的内存计算: ①图像内存的计算公式: 图像所占内存=图像分辨率*一个像素所占内存空间 ②位深度: 如有位深度1,则可以组成种颜色,即二值图像; 如有位...

    图像处理16:图像内存计算和类的内存计算

    (1)图像的内存计算:

             ①图像内存的计算公式:

                 图像所占内存=图像分辨率*一个像素所占内存空间

             ②位深度:

                 如有位深度1,则可以组成2^{1}种颜色,即二值图像;

                 如有位深度8,则可以组成2^{8}种颜色,即为256色图像。

             ③应用举例:

                 分辨率30*40,位深度为24的图像内存计算为:30*40*24/8=3600(字节);

                 除8是因为1字节=8比特。

     

    (2)c++中类的内存计算:

            类所占内存大小由成员变量决定(除去静态变量),与成员函数无关;

            ②空类的内存:

                  由于c++要求每个实例在内存中都有独一无二的地址,并且空类也会被实例化,因此编译器为空类隐含添加一个字节。

                  因此空类所占内存为1个字节。

             ③虚函数的指针:

                  c++类中如果存在虚函数,那么会有一个指向虚函数的指针(32位系统中占用4个字节),与虚函数个数无关,只有一个指针。

             ④子类所占内存:

                 子类大小是本身成员变量大小加上父类大小,子类与父类共享一个虚函数指针。

             ⑤类的内存对齐问题;

                 如以下类,int占四个字节,char占一个字节,补齐三个字节,共12个字节。

    class A
    {
          int a;
          char b;
          char c;
    }

              

    展开全文
  • [Android] Bitmap的内存计算

    千次阅读 2019-07-27 08:00:00
    如何计算? 2、不同图片来源对内存大小有什么影响? Bitmap bitmap = Bitmap.createBitmap(100,100,Bitmap.Config.ARGB_8888); 依然以如此声明一个bitmap为例,参数就决定了bitmap的大小。(以Android 8.0+平台为例...

    本文聚焦的问题
    1、Bitmap中像素数据占用多大内存?如何计算?
    2、不同图片来源对内存大小有什么影响?

    Bitmap bitmap = Bitmap.createBitmap(100,100,Bitmap.Config.ARGB_8888);
    依然以如此声明一个bitmap为例,参数就决定了bitmap的大小。(以Android 8.0+平台为例,这行代码执行后占用的总内存大小=bitmap在栈上的引用大小+bitmap指向的堆中的对象大小+指向的对象持有的native像素数据大小,先只关注像素数据,以后再研究其他几部分的内存占用如何计算。)

    像素数据的内存=图片宽 x 图片高 x 单个像素内存大小,
    这里宽高均为100,单个像素的内存因为是ARGB_8888格式所以为4x8bit = 4byte,总大小=100x100x4byte。
    如果宽高不变,用Bitmap.Config.RGB_565格式加载,则大小=100x100x2byte。
    这是在内存中直接创建的一个bitmap,其他来源的图片加载成bitmap大小会有所不同?

    一张100x100的png图片,放在下面各个不同位置,以720x1080像素4.8寸的手机(像素密度305,属于xhdpi)去加载,都加载为ARGB_8888格式,计算加载后的bitmap像素数据内存大小。
    在这里插入图片描述
    文件&网络&assert文件夹&res/drawable-nodpi文件夹
    从这些位置加载图片会保持原尺寸,不缩放,bitmap宽高100x100,内存=100x100x4byte

    res/drawable-mdpi文件夹
    因为该文件夹的目标设备是mdpi,显示到xhdpi的设备上,要做放大320/160=2倍,加载后的bitmap宽高200x200,内存200x200x4byte

    res/drawable-hdpi文件夹
    该文件夹目标设备是hdpi,显示到xhdpi设备上,要放大320/240倍,加载后的bitmap宽高133x133,内存133x133x4byte

    res/drawable-xhdpi文件夹
    因为文件夹和设备屏幕像素密度相同,不做缩放,加载后bitmap宽高100x100,内存100x100x4byte

    res/drawable-xxhdpi文件夹
    因为文件夹目标设备是xxhdpi,显示到xhdpi设备上,要缩小320/480倍,加载后bitmap宽高75x75,内存75x75x4byte

    res/drawable-xxhdpi文件夹计算方式类似。

    res/drawable文件夹
    该文件夹为基准分辨率,与res/drawable-mdpi文件夹效果相同。

    参考
    Android Bitmap加载内存占用彻底分析
    Android屏幕适配知识

    展开全文
  • Linux内存计算方法

    千次阅读 2018-12-08 18:48:58
    一、Linux进程占用内存计算方法 进入top,按f选择swap, code, data; 按M根据内存排序。 总结: VIRT 虚拟内存中含有共享库、共享内存、栈、堆,所有已申请的总内存空间。 RES 是进程正在使用的内存空间(栈、堆),...

    一、Linux进程占用内存计算方法

    进入top,按f选择swap, code, data; 按M根据内存排序。

    总结:
    VIRT 虚拟内存中含有共享库、共享内存、栈、堆,所有已申请的总内存空间。
    RES  是进程正在使用的内存空间(栈、堆),申请内存后该内存段已被重新赋值。
    SHR  是共享内存正在使用的空间。
    SWAP 交换的是已经申请,但没有使用的空间,包括(栈、堆、共享内存)。
    DATA 是进程栈、堆申请的总空间。
     

    VIRT=RES+SWAP
    VIRT=CODE+DATA+SHR+SWAP中共享库/内存
    SHR:内存中共享库/内存实际占用
    进程代码和堆栈实际占用内存=RES-SHR
    RES和SWAP中都包含共享库/内存
    CODE+DATA不包含共享库/内存占用。

    参考:https://blog.csdn.net/u011547375/article/details/9851455

     

     

    二、Linux如何查看空间内存有多少

    free和top显示的内存容易让人混淆。下面分析一下实际占用内存和空闲内存。
    free默认显示的单位是KB。
    实际使用内存和空闲内存看第二行。
    实际占用内存=used - buffers - cached
    空闲内存=free + buffers + cached
    操作系统来讲是Mem的参数.buffers/cached 都是属于被使用.
    对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。
    除了对dentry进行缓存(用于VFS,加速文件路 径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间。

    参考:https://zhidao.baidu.com/question/84777164.html

     

    展开全文
  • 内存计算技术综述

    千次阅读 2019-05-12 00:41:29
    内存计算技术综述 传送门
  • Spark是基于内存计算的大数据并行计算框架。spark基于内存计算,提高了在大数据环境下数据处理的的实时性,同时保证了高容错性和高可伸缩性。  ---<<Spark大数据处理技术,应用与性能优化>.....
  • Linux的top命令与内存计算

    千次阅读 2019-11-01 10:50:49
    top命令是我们平时工作中用...敲完top命令之后,按shift+p会以cpu使用百分比大小排序,shift+m会以内存使用大小排序。 先看资源总的情况: 1,任务队列信息,即第一行:第一个是系统当前时间 图中值:10:45:10 ...
  • 市面上有一些初学者的误解,他们拿spark和hadoop比较时就会说,Spark是内存计算内存计算是spark的特性。请问在计算机领域,mysql,redis,ssh框架等等他们不是内存计算吗?依据冯诺依曼体系结构,有什么技术的程序...
  • 内存计算技术应对大数据挑战

    千次阅读 2016-08-17 17:34:36
    而SAP的内存计算产品HANA也从2010年就已传出风声,2011年SAP宣布内存计算产品SAP HANA软件,开始提供给全球客户使用,SAP正式加入了内存计算的战场。不久后,作为SAP老对手的甲骨文发布了名为Exalytics的内存数据库...
  • 二、内存系统 1、内存数据库 (1)起源发展 体系结构和硬件技术的巨大发展 Memory-resident:可能在buffer pool中。 MMDB:可能彻底不用buffer pool,改变了系统内部设计。 (2)关键技术 Vectorization;处理器加速...
  • 图片内存计算大小

    千次阅读 2017-12-02 21:40:23
    一张1280*740 RGBA4448的图片占内存大小 (M)? 2048*1024*(4+4+4+8)/(8*1024*1024) 解析:第一步:内存中图片大小必须为2^n  第二步:RGBA8888是4位8bit 像素点:4*8 位数*颜色深度 第三步:内存大小 ...
  • DDR4的内存计算方法

    千次阅读 2019-05-23 14:22:35
    DDR4的内存计算方法 刚转到存储这边,对于内存的计算很模糊,整理了一下网上的各种解释,有了自己的理解。记录下来,希望有帮助 ----------------------以下是网络上之前给出的解释------------------ DDR3内存计算 ...
  • Spark 介绍(基于内存计算的大数据并行计算框架)  Hadoop与Spark 行业广泛使用Hadoop来分析他们的数据集。原因是Hadoop框架基于一个简单的编程模型(MapReduce),它支持可扩展,灵活,容错和成本...
  • 内存计算技术资料整理

    万次阅读 2014-12-13 14:22:32
    先来看一下一张技术的全景图,其中涉及内存计算的技术标成红色。 1)事务处理:主要分为Cache(Memcached, Redis, GemFire)、RDBMS、NewSQL(以VoltDB为首的)三部分,缓存和NewSQL数据库是关注的重点。2)流式处理...
  • mysql使用最大内存计算公式

    千次阅读 2019-01-09 14:12:44
    理论上mysql使用最大内存计算公式 key_buffer_size+query_cache_size+tmp_table_size+innodb_buffer_pool_size+innodb_additional_mem_pool_size+innodb_log_buffer_size+max_connections*(sort_buffer_size+rea...
  • 内存计算--Spark

    千次阅读 2017-02-25 15:55:37
    内存需求大:内存随机访问比硬盘随机访问快10万倍,单机内存不够大 I/O量大:单个硬盘读写I/O太慢  挑战: 编程困难:并行性、同步语句 性能调优难:负载平衡、局部性(Cache) 容错难:传统容错方法不适用...
  • 图片占用内存计算方法

    千次阅读 2015-06-15 11:12:57
    ALPHA_8:每个像素占用1byte内存 ARGB_4444:每个像素占用2byte内存 ARGB_8888:每个像素占用4byte内存 RGB_565:每个像素占用2byte内存 Android默认的颜色模式为ARGB_8888,这个颜色模式色彩最细腻,显示质量最高...
  • 昨晚收到一台服务器内存不足报警,登录上去一看 free剩余279M 使用used1947M total总共31981M 咦少了好多呀??? 按照这个图used+free=2226M 也就是全部的内存才2G多 但是实际上total有31981M 也就是32G 查看了系统...
  • 图片占用内存计算

    千次阅读 2015-08-21 12:52:41
    图像占用内存的公式是:numBytes = width * height * bitsPerPixel / 8 ,其中bitsPerPixel 是根据图片的像素格式计算出的 像素格式如 RGBA8888  对于每一个像素点使用4个byte来表示--1个byte(8位)代表...
  • 【HDFS】NameNode 元数据内存计算

    千次阅读 2016-09-07 14:31:40
    NameNode 元数据内存计算
  • spark on yarn 内存计算 摘要:相信每个写spark 的 sparker 都有过 spark on yarn 的任务提交经历,或许在你集群资源够多的情况下,我们只关注分配的资源是否能另任务顺畅的跑起来,而不会去关注生成一个spark任务...
  • 3、Spark2x 基于内存计算引擎

    千次阅读 2018-11-09 17:20:13
    Spark2x 基于内存计算引擎 一、Spark 概述 Spark 是一种基于内存进行计算的分布式批处理引擎,他的主要工作是执行以下几种计算: (1) 数据处理,可以进行快速的数据计算工作,具备容错性和可拓展性。 (2) ...
  • 笔记整理之 MySQL内存计算方式

    万次阅读 2019-06-03 00:08:25
    -- 计算MySQL的内存峰值公式,计算所有的连接满了的情况下: select (@@key_buffer_size + @@query_cache_size + @@tmp_table_size + @@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size + @@...
  • PostgreSQL消耗的内存计算方法

    千次阅读 2019-01-12 00:23:10
    计算公式为: max_connections*work_mem + max_connections*temp_buffers +shared_buffers+wal_buffers+ (autovacuum_max_workers * maintenance_work_mem) 假设PostgreSQL的配置如下: max_connections = ...
  • Ios图片内存计算

    千次阅读 2013-09-29 09:52:04
    一,IOS与图片内存 在IOS上,图片会被自动缩放到2的N次方大小。比如一张1024*1025的图片,占用的内存与一张1024*2048的...图片占用内存大小的计算的公式是;长*宽*4。这样一张512*512 占用的内存就是 512*512*4 =
  • 本部分内容全面涵盖了Spark生态系统的概述及其编程模型,深入内核的研究,Spark on Yarn,Spark Streaming流式计算原理与实践,Spark SQL,Spark的多语言编程以及SparkR的原理和运行。 Python语言的部分大家在学习后...
  • 文章经授权转载自半导体行业观察(ID:icbank)最近,内存计算成了热门关键词。今年早些时候,IBM发布了基于相变内存(PCM)的内存计算,在此之后基于Flash内...
  • 内存计算

    千次阅读 2020-04-14 16:51:20
    主流内存条规格识别方法 如下图所示,这个一个海力士的内存条,上面的规格参数,需要一定的认识, 1.看厂家,就在上图所示的地方,看厂家,图中的内存条是海力士的; 2.看容量,图中所示的容量就是8GB 3. 2Rx4 CPU...
  • Spark并不都是基于内存计算

    千次阅读 2018-07-11 21:06:48
    大多数的人会认为Spark都是基于内存计算的,但是基于如下两个情况,Spark会落地于磁盘1,Spark避免不了shuffle2,如果数据过大(比服务器的内存还大)也会落地于磁盘...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,487,627
精华内容 595,050
关键字:

内存计算