CN1752950A - 一种用计算机对矩阵进行运算的方法 - Google Patents

一种用计算机对矩阵进行运算的方法 Download PDF

Info

Publication number
CN1752950A
CN1752950A CNA2004100782448A CN200410078244A CN1752950A CN 1752950 A CN1752950 A CN 1752950A CN A2004100782448 A CNA2004100782448 A CN A2004100782448A CN 200410078244 A CN200410078244 A CN 200410078244A CN 1752950 A CN1752950 A CN 1752950A
Authority
CN
China
Prior art keywords
matrix
cache
main memory
computing
computing machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004100782448A
Other languages
English (en)
Other versions
CN100437520C (zh
Inventor
简方军
韩冀中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2004100782448A priority Critical patent/CN100437520C/zh
Publication of CN1752950A publication Critical patent/CN1752950A/zh
Application granted granted Critical
Publication of CN100437520C publication Critical patent/CN100437520C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种用计算机进行矩阵运算的方法,该方法用于解决在矩阵运算中常见的“Cache颠簸”现象。该方法包括步骤:1)提供一冗余矩阵,将该冗余矩阵与原有的第一矩阵组成新的第二矩阵;2)将第二矩阵读取到主存中;3)将第一矩阵中待处理区域的元素从主存读取到Cache;所述冗余矩阵使得第一矩阵的待处理区域的元素映射到Cache后,映射到相同Cache组的元素不超过Cache组的路数。采用本发明的方法可以避免计算机进行矩阵运算中的“Cache颠簸”现象,从而大幅度提高运算效率。

Description

一种用计算机对矩阵进行运算的方法
技术领域
本发明涉及应用N路组相联Cache组织方式的计算系统中大规模矩阵转置运算的运行效率。
背景技术
用计算机对大规模矩阵进行运算在工程和科学计算中有着广泛应用。在这些运算中,通常要涉及对整个矩阵或者矩阵中一个区域内的元素进行处理。例如在对大规模矩阵进行转置运算时,如果采用采用矩阵分块的方法,则这种转置运算一般要涉及矩阵分块后子矩阵之间的元素交换以及一个子矩阵内部的元素的转置。
众所周知,在计算机中,为了减少CPU与内存之间的速度差异,通常在相对慢速的主存(DRAM)和相对快速的CPU之间插入一速度较快、容量较小的高速缓冲存储器(Cache),以起到缓冲作用。CPU与主存之间通过Cache进行数据交换,以提高数据传输速度。其中,组相联Cache是Cache的一种基本结构,而多路组相联Cache是多级存储系统中的常用技术。多路组相联Cache是将一定容量大小为M的Cache分成U组,每组N路,主存和Cache之间采用数据块进行数据交互。主存数据块以固定的映射关系映射到确定的Cache组上,其在组内位置相对灵活,可以根据需要选择该组的N路中的某一路。以一维编码的主存模型为例,通常,对于在主存中编号为J的数据块在Cache中的对应组号为Q,其中Q=J MOD U,即主存中编号与U同余的主存数据块被映射到相同的Cache组内。也已经知道,类似于“Q=J MODU”的这种映射关系在一定的计算机系统中是保持固定的。如图1所示,例如,Cache1被分为0~7共8组,每组两路(在图1中用相同的组号表示),主存2中的数据块按照一维模型进行编号,这样,主存2中编号与数字8同余的数据块被映射到Cache1相同的组内。例如在图1中,主存2中编号为0和16的数据块都被映射到Cache1的0号组内,尽管它们可以位于0号组不同的路中。
从前述的内容可知,当用计算机对矩阵进行运算时,需要将所需要处理的矩阵区域内的元素从主存中读取到cache中。例如,采用矩阵分块的方法进行矩阵的转置运算,当进行两个子矩阵的数据交换时,需要将两个子矩阵的元素读取到cache中进行处理。但是,由于前述的计算机主存数据块和cache的固定映射关系,例如“Q=J MOD U”,即使所处理的元素数据总量比Cache容量低,但是由于被映射到相同Cache组的元素超过了其路数N,因此无法将所处理的元素数据一次全部读入到cache中,而是需要主存和cache多次的数据交换。这种情况下就会发生“Cache颠簸”现象。“Cache颠簸”会增加访存开销,降低数据预取效率,程序运行的预测性和可控性都会下降。
发明内容
本发明的目的在于提供一种用计算机对矩阵进行运算的方法,该方法可以大规模提高矩阵运算的效率。
为了实现上述目的,本发明提供了一种用计算机进行矩阵运算的方法,用于处理一第一矩阵,该计算机包括相连的主存和Cache,所述Cache包括多个Cache组,每个Cache组包括多路;所述主存和Cache之间以一固定映射方式进行数据交换;
该方法包括:
(1)提供一冗余矩阵,将所述第一矩阵和所述冗余矩阵合并为第二矩阵;
(2)将所述第二矩阵读取到主存中;
(3)将第一矩阵中待处理区域的元素从主存读取到Cache;所述冗余矩阵使得第一矩阵的待处理区域的元素映射到Cache后,映射到相同Cache组的元素不超过Cache组的路数。
所述矩阵运算为对第一矩阵的转置运算。所述矩阵运算为对第一矩阵进行分块操作后的转置运算。所述待处理区域为第一矩阵分块后的一个或者多个子矩阵。所述待处理区域为第一矩阵分块后需要进行数据交换的两个子矩阵。所述冗余矩阵的规模通过计算机程序测试获得。
采用本发明的方法可以避免计算机进行矩阵运算中的“Cache颠簸”现象,从而大幅度提高运算效率。
附图说明
图1是二路组相联Cache组织方式;
图2是本发明方法应用于矩阵转置运算的一个实施例的流程图;
图3是16384×512矩阵转置时间随分块大小的变化曲线;
图4是16384×512矩阵以128×128分块的矩阵转置时间随冗余矩阵的不同的变化曲线。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细描述。
为了描述与理解的方便,在下文的实施例中采用一个16×16的示例性矩阵为例来描述本发明的方法,但是应该理解,本领域的技术人员可以很容易地将本发明的方法应用于其它规模的矩阵,例如大规模矩阵。
表1示出了一个16×16的矩阵,每一个单元格表示一个矩阵元素,每一个矩阵元素在计算机的主存中占用一个数据块。在该实施例中,采用一维模型对主存数据块进行编码,相应地,表1中每一个单元格中的数字表示了该矩阵元素在主存中的位置。从表1中可看出,该矩阵的元素按行优先的顺序存储在主存中,即矩阵元素从上之下从左至右按顺序存储在主存中。应当理解,本发明并不限制主存模型的类型,主存也可以采用诸如二维模型等其它模型进行编码,而矩阵的元素也可以采用诸如列优先的顺序存储在主存中。
计算机中容量为M的Cache分成U个Cache组,每个Cache组中有N路。主存与Cache之间有固定的映射关系,以一维编码的主存模型为例,若主存块的编号为J,则其对应组号为“Q=J MOD U”,即U同余的主存数据块被映射到相同的Cache组中。主存块号J作为标记(tag)与块数据一起存于此组的某一路中。同样地,为了描述与理解的方便,在下文的实施例中采用一个如表2所示的16×2(16组,2路)的示例性Cache为例来描述本发明的方法,但是应该理解,本领域的技术人员可以很容易地将本发明的方法应用于其它容量和组织方式的组相联Cache。其中,在表2中,第一列为Cache组号,第二和第三列表示每一Cache组有两路组成,即每一个Cache组最多存储映射到该组的两个数据。
                                                                       表1
  1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16
  17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
  33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
  49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
  65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
  81   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96
  97   98   99   100   101   102   103   104   105   106   107   108   109   110   111   112
  113   114   115   116   117   118   119   120   121   122   123   124   125   126   127   128
  129   130   131   132   133   134   135   136   137   138   139   140   141   142   143   144
  145   146   147   148   149   150   151   152   153   154   155   156   157   158   159   160
  161   162   163   164   165   166   167   168   169   170   171   172   173   174   175   176
  177   178   179   180   181   182   183   184   185   186   187   188   189   190   191   192
  193   194   195   196   197   198   199   200   201   202   203   204   205   206   207   208
  209   210   211   212   213   214   215   216   217   218   219   220   221   222   223   224
  225   226   227   228   229   230   231   232   233   234   235   236   237   238   239   240
  241   242   243   244   245   246   247   248   249   250   251   252   253   254   255   256
   表2
  1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  11
  12
  13
  14
  15
  16
在对矩阵进行处理时,有时需要对整个矩阵或者矩阵中的某些区域的数据进行处理。一个典型的矩阵运算是矩阵的转置运算,特别是对矩阵分块后进行的转置运算。在进行整个矩阵的转置运算时,需要将对应的子矩阵进行数据交换并在子矩阵内部进行转置运算。在一个实施例中,表1所示的16×16矩阵采用4×4的分块方式,将该矩阵分为16个4×4的子矩阵。对表1中的矩阵进行转置运算时,包括对子矩阵A1和子矩阵A2的处理。子矩阵A1和A2如表3所示,其矩阵元素的编号与表1一致,分别是位于表1左下角和右上角的4×4矩阵。对子矩阵A1和A2的处理通常包括子矩阵A1和A2之间矩阵元素的交换以及子矩阵内部矩阵元素的转置,此时的子矩阵A1和A2就是待处理的矩阵区域。
表3
Figure A20041007824400071
在对子矩阵A1和A2进行运算时,需要将其从主存中调入到Cache中。而在现有技术中,通常是将主存中的矩阵元素按照诸如“Q=J MOD U”的映射关系直接读取到Cache中。以表3中的子矩阵A1和A2为例,当按照“Q=J MOD U”的映射关系将其元素读取到Cache中时,则主存中的元素与Cache组号的对应关系如表4所示,其中表4中的第一列为Cache的组号,第2~5列中的数字对应于该元素在主存中的位置。
表4
  1   193   209   225   241
  2   194   210   226   242
  3   195   211   227   243
  4   196   212   228   244
  5
  6
  7
  8
  9
  10
  11
  12
  13   13   29   45   61
  14   14   30   46   62
  15   15   31   47   63
  16   16   32   48   64
从表4中可看出,根据主存与Cache的固定映射关系,会有四个元素对应同一个Cache组的情况发生。但是,从表2可知,Cache的容量为16×2(16组,2路),即每一个Cache组最多同时存储两个同组数据。也就是说,在一次运算中,当所处理的矩阵区域的元素映射到相同Cache组中的元素超过Cache的路数时,即使该矩阵区域的规模比Cache容量低,但这些区域的元素仍然无法同时被读入Cache,在完成相应操作运算时需要多次将待处理区域的元素调入和换出Cache,即发生“Cache颠簸”现象。
在本发明中,为待处理的矩阵(称为第一矩阵)增加一冗余矩阵从而构成一个新的矩阵(称为第二矩阵),然后将第二矩阵读取到主存中。在对第一矩阵进行诸如转置之类的运算处理时,冗余矩阵不参加运算,但是,由于冗余矩阵的存在,改变了第一矩阵的元素在主存中排列顺序。当冗余矩阵选择合适时,可使得第一矩阵中的待处理区域的元素可以同时读入到Cache中,从而消除“Cache颠簸”现象。在这里,为了使得第一矩阵中的待处理区域的元素可同时读入到Cache中,一般是要求待处理区域的元素映射到相同Cache组的元素不超过Cache组的路数。
为了描述的更清楚,以表1的矩阵为第一矩阵来说明本发明的方法。其中,表3中的子矩阵A1和A2为对第一矩阵进行转置运算时的一个待处理区域。
首先,为表1的16×16的第一矩阵提供一个16×4的冗余矩阵,该冗余矩阵与第一矩阵一起构成一个新的16×20的矩阵,称为第二矩阵,如表5所示。表5中的第17~20列为所提供的冗余矩阵。
                                                                              表5
  1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20
  21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40
  41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
  61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
  81   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99   100
  101   102   103   104   105   106   107   108   109   110   111   112   113   114   115   116   117   118   119   120
  121   122   123   124   125   126   127   128   129   130   131   132   133   134   135   136   137   138   139   140
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
  161   162   163   164   165   166   167   168   169   170   171   172   173   174   175   176   177   178   179   180
  181   182   183   184   185   186   187   188   189   190   191   192   193   194   195   196   197   198   199   200
  201   202   203   204   205   206   207   208   209   210   211   212   213   214   215   216   217   218   219   220
  221   222   223   224   225   226   227   228   229   230   231   232   233   234   235   236   237   238   239   240
  241   242   243   244   245   246   247   248   249   250   251   252   253   254   255   256   257   258   259   260
  261   262   263   264   265   266   267   268   269   270   271   272   273   274   275   276   277   278   279   280
  281   282   283   284   285   286   287   288   289   290   291   292   293   294   295   296   297   298   299   300
  301   302   303   304   305   306   307   308   309   310   311   312   313   314   315   316   317   318   319   320
将表5所示的第二矩阵读入主存中,表5中单元格内的数字表示在一维主存模型中该元素在主存中的位置。对比表5和表1可知,由于提供了冗余矩阵,表5中第一矩阵的元素或者说部分元素在主存中的位置发生了变化。
仍然以第一矩阵中的子矩阵A1和A2为例,在增将冗余矩阵之后,这两个子矩阵A1和A2的元素在主存中的位置如表6所示。
表6
Figure A20041007824400091
将这两个子矩阵按照前述的映射关系“Q=J MOD U”读取到Cache中,其结果如表7所示。其中,表7中的第一列为Cache的组号,第二和第三列中的数字对应于该元素在主存中的位置。
        表7
  1   33   241
  2   34   242
  3   35   243
  4   36   244
  5   53   261
  6   54   262
  7   55   263
  8   56   264
  9   73   281
  10   74   282
  11   75   283
  12   76   284
  13   13   301
  14   14   302
  15   15   303
  16   16   304
从表7可以看出,增加冗余矩阵之后,第一矩阵的待处理区域(例如子矩阵A1和A2)的元素映射到Cache后,映射到相同Cache组的元素不超过Cache组的路数,因此第一矩阵中待处理区域的元素可以同时地全部读入到Cache中,有效地避免了“Cache颠簸”现象的发生。
从上述描述可知,虽然冗余矩阵不参加矩阵的运算,但是冗余矩阵的存在改变了第一矩阵的元素或者其部分元素在主存中的存储位置,使得第一矩阵的待处理区域的元素映射到Cache时,映射到同一Cache组的元素不超过Cache组的路数。进一步的,由于该冗余矩阵不参加矩阵的运算,因此该矩阵的元素值并不限定,仅关心该冗余矩阵的规模,也就是该冗余矩阵的维数。
冗余矩阵的维数可以在对第一矩阵运算前通过计算机测试得到。例如对于矩阵的转置运算,可以针对第一矩阵的规模及其分块方式,选择不同维数大小的冗余矩阵进行测试,根据测试结果选择一个符合条件的最佳的冗余矩阵,并将该最佳的冗余矩阵的维数作为一个参数存储起来。在下一次处理具有同样规模和分块方式的第一矩阵时,可直接调用前述参数形成冗余矩阵并与第一矩阵组合成第二矩阵。作为另一种可选择的方式,在做矩阵的转置运算时也可以将矩阵的分块方式作为一个参数,通过计算机测试获得该矩阵的最佳分块方式,并将该最佳分块方式作为参数储存起来以便做矩阵运算时调用。
图2示出了采用本发明方法做矩阵转置运算时的一个优选实施例的流程图。如图2所示:
步骤100:计算机运行一个测试程序计算针对第一矩阵规模的最佳分块方式。
步骤110:计算机运行一个测试程序计算针对第一矩阵规模的最佳冗余矩阵的规模。
步骤120:将所得的最佳分块大小和最佳冗余度作为环境参数储存。
步骤130:对一具体的第一矩阵进行转置运算时,从环境参数中读入最佳冗余矩阵的规模,并根据该最佳冗余矩阵的规模生成一冗余矩阵,该冗余矩阵与第一矩阵组合成第二矩阵。
步骤140:读取环境参数中的最佳分块方式,将第一矩阵分块。
步骤150:将第二矩阵读入计算机主存中。
步骤160:根据上述最佳分块方式对第一矩阵进行转置运算。
在一个大规模矩阵的转置运算的实施例中,在Intel xeon2.8G处理器平台上对大小为16384×512的第一矩阵进行转置运算。在步骤100可以得到如图3所示的第一矩阵的转置时间(纵坐标)随分块大小(横坐标)的变化曲线,可以得到最佳分块大小为128×128。在步骤110可以得到如图4所示的第一矩阵以128×128分块时转置时间(纵坐标)随冗余矩阵规模(横坐标表示已增加冗余矩阵后的第二矩阵的列数,其行数为16384)的变化曲线,可以得到已增加冗余矩阵后的第二矩阵最佳列数为517,即最佳冗余矩阵的列数为(517-512=)5,则最佳冗余矩阵的规模为16384×5。上述所测得的结果存为环境参数。并且在做矩阵转置运算时,读取存储在环境参数中的分块大小值和冗余矩阵规模。
在当前的研究中,已发现利用本发明所述的利用冗余矩阵进行矩阵运算可以大大提高运算的效率,计算机系统的运算效率可以得到指数级的增长。在曙光刀片服务器平台上,CPU为XEON2.8G,内存2G,运行红帽子Linux操作系统,对规模为16384×512单精度浮点复数矩阵进行转置运算,运用原有方法需时1.387秒,而采用本发明所述的方法以后,只需要0.155秒,效果十分明显。

Claims (6)

1、一种用计算机进行矩阵运算的方法,用于处理一第一矩阵,该计算机包括相连的主存和Cache,所述Cache包括多个Cache组,每个Cache组包括多路;所述主存和Cache之间以一固定映射方式进行数据交换;该方法包括:
提供一冗余矩阵,将所述第一矩阵和所述冗余矩阵合并为第二矩阵;
将所述第二矩阵读取到主存中;
将第一矩阵中待处理区域的元素从主存读取到Cache;所述冗余矩阵使得第一矩阵的待处理区域的元素映射到Cache后,映射到相同Cache组的元素不超过Cache组的路数。
2、根据权利要求1所述的用计算机进行矩阵运算的方法,其特征在于,所述矩阵运算为对第一矩阵的转置运算。
3、根据权利要求2所述的用计算机进行矩阵运算的方法,其特征在于,所述矩阵运算为对第一矩阵进行分块操作后的转置运算。
4、根据权利要求3所述的用计算机进行矩阵运算的方法,其特征在于,所述待处理区域为第一矩阵分块后的一个或者多个子矩阵。
5、根据权利要求4所述的用计算机进行矩阵运算的方法,其特征在于,所述待处理区域为第一矩阵分块后需要进行数据交换的两个子矩阵。
6、根据权利要求1所述的用计算机进行矩阵运算的方法,其特征在于,所述冗余矩阵的规模通过计算机程序测试获得。
CNB2004100782448A 2004-09-21 2004-09-21 一种用计算机对矩阵进行运算的方法 Expired - Fee Related CN100437520C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100782448A CN100437520C (zh) 2004-09-21 2004-09-21 一种用计算机对矩阵进行运算的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100782448A CN100437520C (zh) 2004-09-21 2004-09-21 一种用计算机对矩阵进行运算的方法

Publications (2)

Publication Number Publication Date
CN1752950A true CN1752950A (zh) 2006-03-29
CN100437520C CN100437520C (zh) 2008-11-26

Family

ID=36679808

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100782448A Expired - Fee Related CN100437520C (zh) 2004-09-21 2004-09-21 一种用计算机对矩阵进行运算的方法

Country Status (1)

Country Link
CN (1) CN100437520C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344965A (zh) * 2017-04-06 2019-02-15 上海寒武纪信息科技有限公司 运算装置和方法
CN110990299A (zh) * 2020-03-03 2020-04-10 江苏华创微系统有限公司 非规整组相联cache组地址映射方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2626693B1 (fr) * 1987-12-03 1990-08-10 France Etat Dispositif et procede a memoire tampon, notamment pour la transposition matricielle ligne-colonne de sequences de donnees
US7031994B2 (en) * 2001-08-13 2006-04-18 Sun Microsystems, Inc. Matrix transposition in a computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344965A (zh) * 2017-04-06 2019-02-15 上海寒武纪信息科技有限公司 运算装置和方法
CN110990299A (zh) * 2020-03-03 2020-04-10 江苏华创微系统有限公司 非规整组相联cache组地址映射方法

Also Published As

Publication number Publication date
CN100437520C (zh) 2008-11-26

Similar Documents

Publication Publication Date Title
CN1218248C (zh) 堆栈使用的方法
CN112506567B (zh) 数据读取方法和数据读取电路
CN1858734A (zh) 一种数据存储及搜索方法
CN111915001A (zh) 卷积计算引擎、人工智能芯片以及数据处理方法
CN102033854A (zh) 针对稀疏矩阵的数据存储方法及基于该方法的SpMV实现方法
WO2017118335A1 (zh) 一种映射方法和设备
JP2022508028A (ja) 3次元画像処理におけるデータの読み書き方法とシステム、記憶媒体及び端末
CN1532686A (zh) 处理器以及由处理器为矩阵处理使用两组寄存器的方法
CN1752950A (zh) 一种用计算机对矩阵进行运算的方法
KR20230010669A (ko) 심층 학습 네트워크를 위한 메모리 압축 시스템 및 방법
CN110990299B (zh) 非规整组相联cache组地址映射方法
CN1289213A (zh) 无转置部件行列分离二维离散余弦变换/反变换vlsi结构及其方法
CN1296815C (zh) 二进制翻译中标志位的优化处理方法
CN113407904B (zh) 兼容多维度卷积神经网络的Winograd处理方法、系统及介质
CN114090592A (zh) 一种数据处理方法、装置、设备及可读存储介质
CN114527929A (zh) 基于双哈希模糊布隆滤波器云存储数据融合方法
CN111431539A (zh) 一种神经网络数据的压缩方法、装置及计算机可读存储介质
CN101064685A (zh) 代理分配方法和设备
CN105955825B (zh) 优化天文学软件gridding的方法
Yang et al. Efficient storage method for massive remote sensing image via spark-based pyramid model
CN1190738C (zh) 数据处理装置及其数据读取方法
Kunkel SFS: A Tool for Large Scale Analysis of Compression Characteristics
CN1760855A (zh) 实现反向离散余弦转换的方法及装置
CN113721839B (zh) 用于处理图数据的计算系统和存储分层方法
CN111507178B (zh) 数据处理的优化方法及装置、存储介质、计算机设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081126

Termination date: 20160921

CF01 Termination of patent right due to non-payment of annual fee