CN103297490A - 信息处理装置、分布式处理系统和分布式处理方法 - Google Patents
信息处理装置、分布式处理系统和分布式处理方法 Download PDFInfo
- Publication number
- CN103297490A CN103297490A CN2012105759052A CN201210575905A CN103297490A CN 103297490 A CN103297490 A CN 103297490A CN 2012105759052 A CN2012105759052 A CN 2012105759052A CN 201210575905 A CN201210575905 A CN 201210575905A CN 103297490 A CN103297490 A CN 103297490A
- Authority
- CN
- China
- Prior art keywords
- unit
- node
- information
- information processor
- response
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/288—Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Abstract
提供一种信息处理装置、分布式处理系统和分布式处理方法。该信息处理装置包括:接收单元,其从信息处理装置以分布式方式执行处理的分布式处理系统中的多个信息处理装置之一接收数据的访问请求;查询发出单元,其在由接收单元接收到数据的访问请求时关于数据是否存储在由信息处理装置中的每一个上的操作系统管理的页面缓存中向信息处理装置中的每一个发出查询;以及响应单元,其对访问请求做出响应,该响应作为访问目的地指定已经响应由查询发出单元发出的查询的信息处理装置。
Description
技术领域
本文中讨论的实施例涉及一种信息处理装置、分布式处理系统以及分布式处理方法。
背景技术
已知使用多个节点的传统分布式处理框架(诸如,Hadoop)作为用于高速处理大量数据的分布式处理技术。Hadoop划分文件并把划分的文件存储在多个节点中,并且并行地允许管理划分的文件的每个节点执行处理指令,从而执行分布式处理。
使用Hadoop分布式文件系统(HDFS)作为Hadoop数据结构的基础。HDFS是提供在多个节点之中统一的名称空间的双层结构文件系统;然而,在实践中双层结构文件系统使用每个节点中的本地文件系统管理数据。具体地,HDFS是由管理名称空间的用户层应用程序和管理物理文件输入和输出的操作系统构建的双层结构文件系统。
图9是例示传统分布式处理系统总体配置实例的示意图。图9中示出的分布式处理系统包括三个节点,即,节点A、节点B以及节点C。在节点中的每个节点中执行使用分布式处理框架的应用程序。节点A连接到本地盘A,节点B连接到本地盘B,节点C连接到本地盘C。节点C是执行管理哪个文件存储在哪个本地盘中的名称管理的主节点。
上述分布式处理系统创建文件的副本并在其中存储原始文件和副本文件。例如,在分布式处理系统中,如果文件C存储在节点C中,则作为文件C副本的副本文件C也存储在节点B或节点A中。以此方式,分布式处理系统实施文件冗余。
以下,将通过作为实例使用作为分布式处理一部分的引用(reference)过程具体描述处理实例。在这一点上,假定节点A执行的应用程序A请求节点C引用文件A。在这种情形中,节点C使用名称管理指定文件A存储在本地盘B和本地盘C这二者中。然后,节点C向应用程序A响应要使用较贴近作为请求源的节点A的本地盘B作为文件A的存储目的地。接收响应的应用程序A请求连接到本地盘B的节点B读取文件A,并然后引用从本地盘B读取的文件A。
此外,在分布式处理系统中,在由每个节点为应用程序预留的存储器区域中管理文件。当应用程序做出对要引用文件的请求时,从存储器读取主题文件,这使得可以减少处理时间。
专利文献1:日本专利公开2005-234919号公报
专利文献2:日本专利公开11-15718号公报
专利文献3:日本专利公开07-182220号公报
然而,在上述分布式处理系统的情况下,问题在于:因为未高效使用由OS内核管理的页面缓存和因而出现本地盘的输入/输出,所以未改进处理性能。
例如,如果在图9中例示的分布式处理系统中出现分布式处理,则节点C确定要处理的文件是来自在其中存储要处理文件的本地盘之中最贴近请求源节点的本地盘中存储的文件。相应地,会存在如下这种情形:代替把主题文件存储在由OS内核管理的页面缓存中的节点,请求未把主题文件存储在由OS内核管理的页面缓存中的节点处理主题文件。
在这种情形中,请求处理文件的节点从处理速度比由OS内核管理的页面缓存的处理速度低的本地盘读取文件。换言之,在整个分布式处理系统方面,即使在由OS内核管理的页面缓存中存储的文件是要读取的文件时,有时也会通过执行低速盘的输入/输出处理读取文件。
此外,执行了低速盘输入/输出处理的节点把从本地盘读取的文件存储在由OS内核管理的页面缓存中。在这一点上,在丢弃来自由OS内核管理的页面缓存的其它文件之后,节点缓存读取的文件,而致使其它文件缓存命中率的减小。
如上所述,在传统分布式处理系统的情况下,未高效使用页面缓存,因而难以提高处理性能。此外,用于通过在为应用程序预留的存储器区域中存储数据提高吞吐量的方法因为需要在存储器中存储大量文件所以不切实际。
相应地,在本发明实施例的一个方面中目的是提供可以提高处理性能的信息处理装置、分布式处理系统、缓存管理程序以及分布式处理方法。发明内容
根据实施例的方面,信息处理装置包括:接收单元,从信息处理装置以分布式方式执行处理的分布式处理系统中的多个信息处理装置之一接收数据的访问请求;查询发出单元,在接收单元接收到数据的访问请求时关于数据是否存储在由信息处理装置的每一个上的操作系统管理的页面缓存中向信息处理装置中的每一个发出查询;以及响应单元,用于对访问请求做出响应,该响应作为访问目的地已经指定响应由查询发出单元发出的查询的信息处理装置。
附图说明
图1是例示根据第一实施例的分布式处理系统总体配置实例的示意图;
图2是例示根据第一实施例的分布式处理系统中主节点配置的功能框图;
图3是例示根据第一实施例的分布式处理系统中节点配置的功能框图;
图4是例示根据第一实施例的由请求源节点执行的处理流程的流程图;
图5是例示根据第一实施例的由主节点执行的处理流程的流程图;
图6是例示根据第一实施例的由每个节点执行的处理流程的流程图;
图7是例示使用共享盘时分布式处理系统总体配置实例的示意图;
图8是例示执行缓存管理程序的计算机硬件配置实例的示意图;以及
图9是例示传统分布式处理系统总体配置实例的示意图。
具体实施方式
将参照附图解释本发明的优选实施例。本发明不限于实施例。
[a]第一实施例
总体配置
图1是例示根据第一实施例的分布式处理系统总体配置实例的示意图。如图1中所示,通过多个节点构建分布式处理系统。图1例示节点10、节点20以及节点30。这些节点经由例如网络彼此相连。此外,可以任意设置节点的数量。在实施例中,将通过使用文件作为实例给出描述;然而,实施例不限于此。例如,也可以使用各种类型的数据。
在分布式处理系统中,在每个节点中执行使用分布式处理框架(诸如,Hadoop)的分布式处理应用程序,并使用HDFS等作为数据结构的基础。此外,在分布式处理系统中,除了文件之外创建并存储副本文件。此外,在分布式处理系统中,把大文件划分成具有预定大小的文件,并向节点分发并在节点中存储与原始文件的一部分相对应的获得的划分文件。
构建这种分布式处理系统的节点10、节点20以及节点30是通过与其它节点协作执行分布式处理的节点。如图1中所示,节点10连接到本地盘19,包括分布式处理单元14和缓存管理单元15,并在操作系统(OS)内核1d中执行页面缓存。本地盘19在其中存储例如上述文件、文件的一部分以及副本文件。分布式处理单元14执行使用分布式处理框架的分布式处理应用程序,并通过与其它节点协作执行分布式处理。
节点20的配置与节点10一样。具体地,节点20连接到本地盘29,包括分布式处理单元24和缓存管理单元25,并且在OS内核2d中执行页面缓存。本地盘29在其中存储例如上述文件、文件的一部分以及副本文件。分布式处理单元24执行使用分布式处理框架的分布式处理应用程序,并通过与其它节点协作执行分布式处理。
节点30是除了节点10或节点20的配置或功能之外,还执行分布式处理系统的名称管理的主节点。节点30连接到本地盘39;包括分布式处理单元34、名称管理单元35、全局缓存管理单元36以及缓存管理单元37;并在OS内核3d中执行页面缓存。与本地盘29类似地,本地盘39在其中存储例如上述文件、文件的一部分以及副本文件。此外,每个本地盘中存储的信息并非总是相同。分布式处理单元34执行使用分布式处理框架的分布式处理应用程序,并通过与其它节点协作执行分布式处理。名称管理单元35管理哪个数据存储在哪个节点中的本地盘中。全局缓存管理单元36是查询关于要处理文件是否被缓存的处理单元。分别在节点10、节点20以及节点30中的OS内核1d、OS内核2d以及OS内核3d构建OS的一部分,且是作为OS的核心运作的软件。OS内核1d、OS内核2d以及OS内核3d各自管理系统资源并管理软件组件和硬件的交换。
如果在分布式处理系统中出现文件的处理请求,则在存储有要处理文件的节点中执行请求的处理。然后,执行了处理的节点通过发送执行结果响应节点,即,处理请求源。此外,如果出现对于通过划分和存储在分布式处理系统中获得的文件的处理请求,则在其中存储划分的文件的每个节点中执行请求的处理,然后响应于节点(即,请求源)发送处理的结果。
以下,将描述节点10做出对文件的引用请求的情形。如果由于执行应用程序而访问文件,则节点10中的分布式处理单元14向对应于主节点的节点30传输对文件的访问请求。如果节点30中的分布式处理单元34接收到访问请求,则节点30中的全局缓存管理单元36执行每个节点关于要访问的文件是否存储在由相应OS内核管理的页面缓存中的查询。在这一点上,全局缓存管理单元36在包括它自身节点的节点上执行查询。
随后,在接收了查询的相应节点中的缓存管理单元的每一个中,执行缓存管理,其中,通过引用(refer to)由相应OS内核管理的页面缓存确定要访问的文件是否存储在由OS内核管理的页面缓存中。然后,每个节点通过把是否出现了缓存命中告知节点30来响应节点30。
然后,节点30中的全局缓存管理单元36通过发送指定通过发送指示文件数据被存储在由OS内核管理的页面缓存中的信息响应查询的节点的信息,经由分布式处理单元34响应作为请求源的节点10。指定节点的信息的实例包括互联网协议(IP)地址。
此后,节点10中的分布式处理单元14向由节点30通知的节点传输对文件的引用请求。接收了引用请求的节点从由OS内核管理的页面缓存读取文件并响应节点10。随后,由节点10执行的应用程序可以引用文件。
如上所述,分布式处理系统中的主节点做出每个节点关于请求的文件是否存储在由相应OS内核管理的页面缓存中的查询。然后,主节点通过告知缓存数据的节点响应请求源;因此,高效使用了由OS内核管理的页面缓存,并因而可以提高处理性能。
主节点的配置
以下,将对构建分布式处理系统的主节点给出描述。在图1中,因为执行名称管理的节点30是主节点,所以在下面的描述中把节点称作主节点30。
图2是例示根据第一实施例的分布式处理系统中主节点配置的功能框图。如图2中所示,主节点30包括连接到本地盘39的通信控制单元31、页面缓存32以及控制单元33。图2中示出的处理单元只是实例;因此,实施例不限于此。
通信控制单元31是控制与其它节点通信的处理单元,其例如是网络接口卡。例如,通信控制单元31从其它节点接收各种请求,诸如访问请求或引用请求。此外,通信控制单元31向其它节点传输对各种请求的响应。
页面缓存32是在其中存储由程序使用的数据或由控制单元33执行的各种应用程序的存储设备。此外,页面缓存32存储例如由控制单元33执行的应用程序从本地盘39读取的数据。具体地,页面缓存32缓存文件。可以对用于控制缓存的方法使用各种已知方法,诸如最近最少使用(LRU)方法;因此,此处将略去其描述。
控制单元33是管理由主节点30执行的整个处理并执行应用程序等的处理单元。控制单元33是电子电路,诸如中央处理单元(CPU)。控制单元33包括分布式处理单元34、名称管理单元35、全局缓存管理单元36、缓存管理单元37以及处理执行单元38。
分布式处理单元34是使用分布式处理框架执行分布式处理应用程序并通过与其它节点协作执行分布式处理的处理单元。分布式处理单元34与执行分布式处理的其它节点和主节点30中包括的各种处理单元协作。例如,分布式处理单元34经由名称管理单元35向各种处理单元输出从其它节点接收的各种请求。此外,分布式处理单元34经由名称管理单元35把从各种处理单元输出的处理结果输出到作为请求源的其它节点。
名称管理单元35是管理每个节点中的本地盘中存储的数据的处理单元。例如,名称管理单元35通过使用文件管理表执行名称管理,在文件管理表中,用于标识节点的标识符与用于标识每个节点中的本地盘中存储的数据的信息相关联。此外,名称管理单元35通过使用地址管理表执行节点管理,在地址管理表中,用于标识每个节点的标识与由每个节点使用的IP地址相关联。文件管理表和地址管理表被存储在诸如存储器或硬盘(未示出)的存储单元中。
全局缓存管理单元36是包括请求接收单元36a、查询发出单元36b以及请求响应单元36c,并通过使用这些单元管理每个节点中缓存状态的处理单元。请求接收单元36a是从构建分布式处理系统的节点接收对文件的访问请求的处理单元。请求接收单元36a接收由它自身的节点或其它节点经由分布式处理单元34和名称管理单元35传输的访问请求,并把访问请求输出到查询发出单元36b。
当请求接收单元36a接收对文件的访问请求时,查询发出单元36b是关于由OS内核管理的页面缓存是否在其中存储请求的文件向每个节点发出查询的处理单元。在图1中示出的实例中,如果节点10传输对文件A的访问请求,则查询发出单元36b向节点10、节点20以及节点30发出查询。
请求响应单元36c是这样的处理单元:其通过发送用于指定通过发送指示文件存储在由OS内核管理的页面缓存中的信息响应来自查询发出单元36b的查询的节点的信息来响应访问请求源节点。在上述实例中,当请求响应单元36c接收指示缓存文件A的来自节点B的响应时,请求响应单元36c通过发送节点B的IP地址(即,由查询发出单元36b在查询时使用的IP地址信息)经由分布式处理单元34和名称管理单元35响应作为请求源的节点A。
此外,如果多个节点已经响应指示文件存储在由OS内核管理的页面缓存中,则请求响应单元36c通过作为访问目的地指示最贴近请求源节点的节点的IP地址进行响应。例如,请求响应单元36c创建分布式处理系统的拓扑,并通过指示至请求源的跳数最低的节点的IP地址进行响应。此外,请求响应单元36c也可以预先确定节点的优先级次序,并指定响应请求源的节点。此外,除了预先确定的信息之外,也可以通过参考动态加载信息灵活确定优先级的次序。
此处将通过返回参照图2给出描述。缓存管理单元37是这样的处理单元:其包括查询接收单元37a、确定单元37b以及查询响应单元37c,并通过使用这些单元确定文件数据缓存状态。查询接收单元37a是从分布式处理系统中的主节点30接收关于要访问的文件是否存储在由OS内核管理的页面缓存中的查询的处理单元。在主节点30的情形中,查询接收单元37a从同样节点中包括的全局缓存管理单元36接收查询,并把接收的查询输出到确定单元37b。
确定单元37b是通过在查询接收单元37a接收到查询时参考其自身节点中的页面缓存32确定查询的文件是否存储在页面缓存32中的处理单元。具体地,确定单元37b确定是否缓存查询的文件,并把确定结果输出到查询响应单元37c。例如,如果整个文件是查询的目标,则确定单元37b参考页面缓存32,并确定整个文件是否存储在页面缓存32中。
此外,如果文件的一部分存储在页面缓存32中,则确定单元37b按照存储的页面数量确定文件是否被缓存。具体地,确定单元37b根据文件大小计算页面的总数量。如果页面缓存32中存储的页面的数量与页面总数量的比率等于或大于预定值,则确定单元37b确定文件存储在页面缓存中。例如,通过使用查询文件的i节点(索引节点:文件和目录的独特标识符)作为密钥,确定单元37b从OS内核获取页面缓存(Pc)的数量。此外,确定单元37b通过使用“文件的整体大小(字节)÷4096”计算文件页面的总数量(Pa)。然后,如果计算的值大于通过“(Pc×100)/Pa”获得的预定值“R(%)”,则确定单元37b确定文件存储在页面缓存中。
查询响应单元37c通过发送由确定单元37b确定的结果响应查询源节点。在主节点30的情形中,查询响应单元37c作为由确定单元37b确定的结果向全局缓存管理单元36输出指示文件被缓存或指示文件未被缓存的信息。
处理执行单元38是执行经由分布式处理单元34接收的分布式处理中出现或其自身的节点中出现的分布式处理的处理单元。例如,如果接收对文件的引用请求,则处理执行单元38通过使用引用请求中包含的文件名称或i节点作为密钥查找页面缓存32。如果在页面缓存32中存在主题文件,则处理执行单元38从页面缓存32读取主题文件,并把该文件传输给请求源节点。相比而言,如果在页面缓存32中不存在主题文件,则处理执行单元38从本地盘39读取主题文件并把该文件传输给请求源节点。
节点的配置
以下,将对构建分布式处理系统的节点之中除了主节点以外的节点给出描述。下述节点是图1中示出的节点10和节点20。节点10和节点20的配置一样;因此,下面将只描述节点10作为实例。
图3是例示根据第一实施例的分布式处理系统中节点配置的功能框图。如图3中所示,节点10包括连接到本地盘19的通信控制单元11、页面缓存12以及控制单元13。图3中示出的处理单元只是实例;因此,实施例不限于此。
通信控制单元11是控制与其它节点通信的通信接口,例如是网络接口卡。例如,通信控制单元11从其它节点接收各种请求,诸如引用请求。此外,通信控制单元11向其它节点传输对各种请求的响应。
页面缓存12是在其中存储由程序使用的数据或由控制单元13执行的各种应用程序的存储设备。此外,页面缓存12在其中存储例如由控制单元13执行的应用程序从本地盘19读取的数据。
控制单元13是管理由节点10执行的整个处理并执行应用程序等的处理单元。例如,控制单元13是电子电路,诸如CPU。控制单元13包括分布式处理单元14、缓存管理单元15以及处理执行单元16。与图2中示出的分布式处理单元34类似地,分布式处理单元14是使用分布式处理框架执行分布式处理应用程序并通过与其它节点协作执行分布式处理的处理单元。分布式处理单元14从主节点或从其它节点接收访问请求或引用请求,并把接收的请求输出到各种处理单元。此外,分布式处理单元14向主题节点传输从处理单元输出的响应或处理结果。
缓存管理单元15执行与图2中示出的缓存管理单元37执行的一样的处理;因此,此处将略去其详细描述。请注意:查询接收单元15a、确定单元15b以及查询响应单元15c分别对应于查询接收单元37a、确定单元37b以及查询响应单元37c。再者,查询源并非其自身的节点而是主节点,这与图2中示出的配置不同。相应地,缓存管理单元15响应的目的地是主节点。此外,处理执行单元16执行与图2中示出的处理执行单元38执行的一样的处理;因此,此处将略去其详细描述。
处理的流程
以下,将描述由分布式处理系统执行的各种处理的流程。在下面的描述中在实例中假定引用请求源节点是节点10,且主节点是节点30。主节点执行与节点10执行的一样的处理。此外,节点30也执行图4或6中例示的处理的流程。
请求源节点
图4是例示根据第一实施例的由请求源节点执行的处理流程的流程图。如图4中所示,当在节点10中执行应用程序并访问文件(步骤S101)时,分布式处理单元14向主节点传输对文件的访问请求(步骤S102)。
然后,当分布式处理单元14从主节点接收响应(在步骤S103,是)时,处理执行单元16向做出了响应的节点的IP地址传输对文件的引用请求(步骤S104)。
然后,当处理执行单元16从传输了引用请求的节点接收文件(在步骤S105,是)时,处理执行单元16引用文件并继续执行在步骤S101执行的应用程序。
主节点
图5是例示根据第一实施例的由主节点执行的处理流程的流程图。如图5中所示,当节点30中的请求接收单元36a经由分布式处理单元34接收到访问请求(在步骤S201,是)时,查询发出单元36b关于文件是否被缓存向每个节点发出查询(S202)。
此后,当请求响应单元36c从执行了查询的节点接收响应(在步骤S203,是)时,请求响应单元36c确定是否存在缓存文件的节点(步骤S204)。
如果请求响应单元36c确定存在缓存文件的节点(在步骤S204,是),则请求响应单元36c通过使用对在步骤S202执行的查询使用的IP地址指定由OS内核管理的页面缓存中存储的节点的IP地址(步骤S205)。然后,请求响应单元36c通过使用指定的IP地址作为访问目的地响应请求源节点(步骤S206)。在这一点上,如果请求响应单元36c确定多个节点缓存文件,则请求响应单元36c通过发送处理首先开始的节点的IP地址响应请求源。
相比而言,如果请求响应单元36c确定不存在缓存文件的节点(在步骤S204,否),则请求响应单元36c通过使用名称管理单元35等指定把文件存储在其本地盘中的节点(步骤S207)。
如果存在多个指定节点(在步骤S208,是),则请求响应单元36c通过使用例如名称管理单元35指定首先开始处理的节点的IP地址(步骤S209),并响应请求源节点(步骤S210)。
相比而言,如果不存在多个指定节点(在步骤S208,否),则请求响应单元36c指定存储有通过使用名称管理单元35等指定的文件的节点的IP地址(步骤S211),并响应请求源节点(步骤S212)。
每个节点
图6是例示根据第一实施例的由每个节点执行的处理流程的流程图。以下,将对作为实例的节点20给出描述。向节点20中的处理单元中的每一个分配附图标记的方式与节点10的一样,例如,节点20中的分布式处理单元24。
如图6中所示,当节点20中的查询接收单元25a从主节点30接收查询(在步骤S301,是)时,确定单元25b搜索页面缓存22(步骤S302),并确定是否出现缓存命中(步骤S303)。
如果出现了缓存命中(在步骤S303,是),则查询响应单元25c通过指示存在缓存命中响应主节点30(步骤S304)。相比而言,如果未出现缓存命中(在步骤S303,否),则查询响应单元25c通过指示不存在缓存命中响应主节点30(步骤S305)。
此后,当分布式处理单元24接收到对文件的引用请求(在步骤S306,是)时,处理执行单元26参考页面缓存22,并确定在页面缓存22中是否存在文件(步骤S307)。如果未接收到对文件的引用请求,则处理结束。
如果出现了缓存命中(在步骤S308,是),则处理执行单元26从页面缓存22读取文件(步骤S309),并通过发送文件响应引用请求源节点(步骤S310)。
相比而言,如果未出现缓存命中(在步骤S308,否),则处理执行单元26从本地盘29读取文件(步骤S311)并响应指示文件的引用请求源节点(步骤S312)。
如果在页面缓存22中存在自由空间(在步骤S313,是),则处理执行单元26执行对其进行了响应的文件中的缓存(步骤S314)。具体地,处理执行单元26把从本地盘29读取的文件存储在页面缓存22中的自由空间中。
相比而言,在页面缓存中不存在自由空间(在步骤S313,否),在处理执行单元26执行文件外的缓存(步骤S315)之后,处理执行单元26执行其进行了响应的文件中的缓存(步骤S316)。具体地,处理执行单元26从页面缓存22丢弃满足预定条件的文件,然后把从本地盘29读取的文件存储在存储了丢弃文件的区域中。可以使用各种已知方法(诸如最近最少使用(LRU)方法)设置条件。
如上所述,图1中示出的分布式处理系统即使在使用传统应用程序时也可以在不使用每个应用程序的专用缓存管理功能的情况下高效使用操作系统中的页面缓存。具体地,在图1中示出的分布式处理系统的情况下,如果节点中的任何一个节点缓存主题文件,则总是可以在分布式处理中使用页面缓存。相应地,可以减少用于从本地盘读取文件的I/O处理并增进高速存储器访问,从而提高处理性能。
[b]第二实施例
在以上解释中,对根据本发明的实施例给出了描述;然而,实施例不限于此,可以在除了上述实施例以外各种实施例的情况下实施本发明。因此,下面将描述另一实施例。
共享盘
在第一实施例中,对每个节点包括本地盘的情形给出了描述;然而,实施例不限于此。例如,每个节点也可以连接到共享盘。图7是例示使用共享盘时分布式处理系统总体配置实例的示意图。如图7中所示,每个节点的配置与第一实施例中描述的一样。第二实施例与第一实施例的不同之处在于连接到每个节点的盘是共享盘50而非本地盘。
即使在图7中示出的情形中,每个节点也具有与第一实施例中执行的一样的功能和执行同样处理。具体地,每个节点指定把目标数据缓存在由OS内核管理的页面缓存中的节点,且指定的节点从由OS内核管理的页面缓存读取主题文件。当使用共享盘时,可以在同样成本的情况下从服务器中的任一个访问数据。相应地,可以在连续执行数据的写入和读取时做出缓存命中。结果是,当与第一实施例相比较时,可以提高缓存命中的概率,因而可以提高处理性能。
节点的配置
在第一实施例中,对通过单个服务器构建每个节点的情形给出了描述;然而,实施例不限于此。例如,也可以通过多个机架装配服务器构建或通过包括多个系统板的单个服务器构建每个节点。例如,也可以通过这样的三个机架装配服务器构建单个节点:包括分布式处理单元34、名称管理单元35以及处理执行单元38的机架装配服务器;包括全局缓存管理单元36的机架装配服务器;以及包括缓存管理单元37的机架装配服务器。此外,单个节点也可以是包括多个系统板的服务器,每个系统板也可以执行单个处理单元。此外,也可以在每个节点内部布置或在节点外部布置本地盘。
处理内容
在第一实施例中,对引用处理给出了描述作为实例;然而,实施例不限于此。例如,也可以通过与上述的类似的方式执行写入处理等。此外,在存储有主题文件的节点因为使用分布式处理框架所以有时会执行写入处理、更新处理等。此外,如果划分和在多个节点中存储要处理的文件,则在存储有文件一部分的每个节点并行地执行处理。然后,主节点批处理每个处理并响应请求源。可以使用通常方法以确定主节点。例如,确定最贴近请求源的节点是主节点。
系统
在实施例中描述的处理中,也可以手动执行提到的作为自动执行处理的全部或一部分,也可以使用已知方法自动执行作为手动执行提到的处理的全部或一部分。此外,如非另行说明则可以任意改变处理的流程、控制过程、具体名称以及包含以上说明书和图中指示的各种数据或参数的信息。
图中示出的每个单元的组件只用于在概念上示出其功能和并非总是在物理上被配置成如图中所示。换言之,单独或整合设备的具体形状不限于图。具体地,可以通过依据各种负载或使用条件在功能上或物理上分割或整合单元中的任何单元配置设备中的所有设备或一部分。例如,全局缓存管理单元36可以与缓存管理单元37整合。此外,可以通过CPU和通过CPU分析和执行的程序实施或通过布线逻辑作为硬件实施每个设备执行的处理功能中的所有处理功能或一部分。
硬件配置
可以通过事先准备的程序实施和通过诸如个人计算机或工作站的计算机系统执行上述实施例中执行的各种处理。相应地,以下,将描述执行功能与以上实施例中描述的一样的程序的计算机系统作为实例。
图8是例示执行缓存管理程序的计算机硬件配置实例的示意图。如图8中所示,计算机100包括CPU102、输入设备103、输出装置104、通信接口105、介质读取器106、硬盘驱动器(HDD)107、随机访问存储器(RAM)108以及存储器109。图8中示例的单元经由总线101彼此相连。
输入设备103是鼠标或键盘;输出装置104是例如显示器;通信接口105是接口,诸如网络接口卡(NIC)。HDD107与缓存管理程序107a一起在其中存储参照图2描述的表。作为记录介质的实例提到HDD107;然而,本发明不限于此。例如,也可以在另一计算机可读记录介质(诸如只读存储器(ROM)、RAM、CD-ROM或者固态驱动器(SSD))中存储各种程序,并也可以通过计算机读取各种程序。此外,也可以通过在远程站点处布置存储介质和通过访问存储介质的计算机获得和使用程序。此外,此时,获得的程序也可以存储在计算机中的记录介质中。
CPU102读取缓存管理程序107a和在RAM108中加载它,因而缓存管理程序107a作为执行以上参照图2和3描述的每个功能的缓存管理处理108a运作。具体地,如果计算机100是主节点,则缓存管理处理108a执行图2中示例的分布式处理单元34、名称管理单元35、全局缓存管理单元36、缓存管理单元37以及处理执行单元38。此外,如果计算机100是公共节点,则缓存管理处理108a执行图3中示例的分布式处理单元14、缓存管理单元15以及处理执行单元16。以此方式,通过读取和执行程序,计算机100作为执行缓存管理方法的信息处理装置工作。
此外,计算机100通过使用介质读取器106从记录介质读取缓存管理程序和执行读取的缓存管理程序,从而实施实施例中描述的同样功能。实施例中提到的程序不限于计算机100执行的程序。例如,也可以在另一计算机或服务器在与计算机100协作的情况下协作执行程序的情形中使用本发明。
根据实施例,可以提高处理性能。
Claims (8)
1.一种信息处理装置,包括:
接收单元,其从信息处理装置以分布式方式执行处理的分布式处理系统中的多个信息处理装置之一接收数据的访问请求;
查询发出单元,其在所述接收单元接收到数据的访问请求时,关于所述数据是否存储在由所述信息处理装置中的每一个上的操作系统管理的页面缓存中,向所述信息处理装置中的每一个发出查询;以及
响应单元,其对所述访问请求做出响应,所述响应将已响应由所述查询发出单元发出的查询的信息处理装置指定为访问目的地。
2.如权利要求1所述的信息处理装置,其中,所述响应单元通过指示所述数据存储在由已响应所述查询的信息处理装置上的操作系统管理的页面缓存中,做出指定所述已响应所述查询的信息处理装置的响应。
3.如权利要求2所述的信息处理装置,其中,当多个信息处理装置已通过指示所述数据存储在由所述操作系统管理的页面缓存中进行了响应时,所述响应单元做出指定响应的信息处理装置中准备好首先开始处理的信息处理装置的响应。
4.如权利要求2所述的信息处理装置,还包括:存储单元,其通过将用于标识由所述信息处理装置中的每一个存储在盘中的数据的信息与所述信息处理装置相关联而存储所述信息,其中,
当不存在已通过指示所述数据存储在由所述操作系统管理的页面缓存中进行了响应的信息处理装置时,所述响应单元从所述存储单元指定存储有所述数据的信息处理装置,并利用指定所指定的信息处理装置的信息进行响应。
5.一种信息处理装置,包括:
接收单元,其从自信息处理装置以分布式方式执行处理的分布式处理系统中的多个信息处理装置之一接收到数据的访问请求的信息处理装置,接收关于数据是否存储在由操作系统管理的页面缓存中的查询;
确定单元,其在所述接收单元接收到所述查询时,参考由自身信息处理装置中的操作系统管理的页面缓存,并确定所述数据是否存储在由所述操作系统管理的页面缓存中;以及
响应单元,其通过发送由所述确定单元确定的结果响应接收的查询。
6.如权利要求5所述的信息处理装置,其中,
所述确定单元根据所述数据的大小计算页面的总数,并且当页面的总数与由自身信息处理装置中的操作系统管理的页面缓存中存储的页面数量的比率等于或大于预定值时,确定所述数据存储在所述操作系统管理的页面缓存中。
7.一种分布式处理系统,包括以分布式方式执行处理的多个信息处理装置,其中,
来自所述信息处理装置之中的第一信息处理装置包括:
请求接收单元,其从另一信息处理装置接收数据的访问请求,
查询发出单元,其在所述请求接收单元接收到所述访问请求时,关于所述数据是否存储在由所述信息处理装置中的每一个上的操作系统管理的页面缓存中,向所述信息处理装置中的每一个发出查询,以及
请求响应单元,其对访问请求做出响应,所述响应将已响应由所述查询发出单元发出的查询的信息处理装置指定为访问目的地,以及
所述信息处理装置中的每一个包括:
查询接收单元,其从所述第一信息处理装置接收关于所述数据是否存储在由所述操作系统管理的页面缓存中的查询,
确定单元,其在所述查询接收单元接收到所述查询时,参考由自身信息处理装置中的操作系统管理的页面缓存,并确定所述数据是否存储在由所述操作系统管理的所述页面缓存中,以及
结果响应单元,其通过发送由所述确定单元确定的结果响应接收的查询。
8.一种分布式处理方法,在多个信息处理装置以分布式方式执行处理的分布式处理系统中执行,所述分布式处理方法包括:
由来自所述信息处理装置之中的第一信息处理装置从所述信息处理装置之一接收数据的访问请求;
由所述第一信息处理装置向所述信息处理装置中的每一个发出关于访问请求目的地上的数据是否存储在由所述信息处理装置中的每一个上的操作系统管理的页面缓存中的查询;
由所述信息处理装置中的每一个接收关于所述数据是否存储在由操作系统管理的页面缓存中的查询;
由所述信息处理装置中的每一个参考由信息处理装置中的每一个中的操作系统管理的页面缓存,并确定所述数据是否存储在由所述操作系统管理的页面缓存中;
由所述信息处理装置中的每一个通过发送在所述确定中确定的结果响应接收的查询;以及
由所述第一信息处理装置对访问请求做出响应,所述响应指定已响应查询的信息处理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012015693A JP5817558B2 (ja) | 2012-01-27 | 2012-01-27 | 情報処理装置、分散処理システム、キャッシュ管理プログラムおよび分散処理方法 |
JP2012-015693 | 2012-07-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103297490A true CN103297490A (zh) | 2013-09-11 |
CN103297490B CN103297490B (zh) | 2017-04-19 |
Family
ID=47520689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210575905.2A Active CN103297490B (zh) | 2012-01-27 | 2012-12-26 | 信息处理装置、分布式处理系统和分布式处理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9483523B2 (zh) |
EP (1) | EP2621143A1 (zh) |
JP (1) | JP5817558B2 (zh) |
CN (1) | CN103297490B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014155553A1 (ja) | 2013-03-27 | 2014-10-02 | 富士通株式会社 | 分散処理のための情報処理方法、情報処理装置及びプログラム、並びに分散処理システム |
TW201508484A (zh) * | 2013-08-22 | 2015-03-01 | Acer Inc | 資料寫入方法、硬碟模組以及資料寫入系統 |
US9665633B2 (en) * | 2014-02-19 | 2017-05-30 | Snowflake Computing, Inc. | Data management systems and methods |
WO2016020977A1 (ja) | 2014-08-05 | 2016-02-11 | 株式会社日立製作所 | ストレージシステム、及びキャッシュ制御方法 |
CN105335513B (zh) * | 2015-10-30 | 2018-09-25 | 迈普通信技术股份有限公司 | 一种分布式文件系统及文件存储方法 |
JP7279450B2 (ja) * | 2019-03-22 | 2023-05-23 | 富士通株式会社 | 並列コンピュータシステム |
US11928336B2 (en) * | 2022-03-03 | 2024-03-12 | Samsung Electronics Co., Ltd. | Systems and methods for heterogeneous storage systems |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115790A (en) * | 1997-08-29 | 2000-09-05 | Silicon Graphics, Inc. | System, method and computer program product for organizing page caches |
US6330606B1 (en) * | 1996-06-03 | 2001-12-11 | Webtv Networks, Inc. | Method and apparatus for dispatching document requests in a proxy |
CN1497448A (zh) * | 2002-09-30 | 2004-05-19 | �Ҵ���˾ | 在操作系统内核环境中高速缓存应用数据的系统和方法 |
US20050114403A1 (en) * | 2003-11-21 | 2005-05-26 | Charles Atchison | Methods, systems and computer program products for monitoring files |
CN1776588A (zh) * | 2004-11-16 | 2006-05-24 | 富士通株式会社 | 信息处理系统、存储单元及计算机可读记录介质 |
CN101262362A (zh) * | 2007-03-09 | 2008-09-10 | 电子科技大学 | 一种利用激励实现的p2p网络资源搜索方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05143435A (ja) * | 1991-11-22 | 1993-06-11 | Fuji Xerox Co Ltd | データベースシステム |
JPH07182220A (ja) | 1993-12-21 | 1995-07-21 | Hitachi Ltd | 分散ファイルシステムおよびそのファイルキャッシング方法 |
US5944780A (en) * | 1997-05-05 | 1999-08-31 | At&T Corp | Network with shared caching |
JPH1115718A (ja) | 1997-06-19 | 1999-01-22 | Sharp Corp | 分散ファイルシステムおよびその分散ファイルシステムで用いられるゲートウェイ計算機 |
US6823048B2 (en) * | 2001-03-21 | 2004-11-23 | Qwest Communications International Inc. | Calling name information caching |
JP2005004282A (ja) * | 2003-06-09 | 2005-01-06 | Nec Corp | ディスクアレイ装置、ディスクアレイ装置の管理方法及び管理プログラム |
JP4300133B2 (ja) | 2004-02-20 | 2009-07-22 | 株式会社日立製作所 | クラスタメモリファイルシステム |
US7953083B1 (en) * | 2006-12-12 | 2011-05-31 | Qurio Holdings, Inc. | Multicast query propagation scheme for a peer-to-peer (P2P) network |
JP2012133416A (ja) * | 2010-12-17 | 2012-07-12 | Toshiba Corp | メモリシステム |
US8849899B1 (en) * | 2011-01-30 | 2014-09-30 | Israel L'Heureux | Accelerated delivery of media content via peer caching |
EP2717165A4 (en) * | 2011-05-30 | 2015-04-22 | Hitachi Ltd | ADMINISTRATIVE APPARATUS AND ADMINISTRATIVE PROCESS FOR A COMPUTER SYSTEM |
-
2012
- 2012-01-27 JP JP2012015693A patent/JP5817558B2/ja active Active
- 2012-12-06 EP EP12195821.9A patent/EP2621143A1/en not_active Withdrawn
- 2012-12-26 CN CN201210575905.2A patent/CN103297490B/zh active Active
-
2013
- 2013-01-14 US US13/740,302 patent/US9483523B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330606B1 (en) * | 1996-06-03 | 2001-12-11 | Webtv Networks, Inc. | Method and apparatus for dispatching document requests in a proxy |
US6115790A (en) * | 1997-08-29 | 2000-09-05 | Silicon Graphics, Inc. | System, method and computer program product for organizing page caches |
CN1497448A (zh) * | 2002-09-30 | 2004-05-19 | �Ҵ���˾ | 在操作系统内核环境中高速缓存应用数据的系统和方法 |
US20050114403A1 (en) * | 2003-11-21 | 2005-05-26 | Charles Atchison | Methods, systems and computer program products for monitoring files |
CN1776588A (zh) * | 2004-11-16 | 2006-05-24 | 富士通株式会社 | 信息处理系统、存储单元及计算机可读记录介质 |
CN101262362A (zh) * | 2007-03-09 | 2008-09-10 | 电子科技大学 | 一种利用激励实现的p2p网络资源搜索方法 |
Also Published As
Publication number | Publication date |
---|---|
US20130198230A1 (en) | 2013-08-01 |
JP2013156765A (ja) | 2013-08-15 |
JP5817558B2 (ja) | 2015-11-18 |
EP2621143A1 (en) | 2013-07-31 |
US9483523B2 (en) | 2016-11-01 |
CN103297490B (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11349940B2 (en) | Server side data cache system | |
CN103297490A (zh) | 信息处理装置、分布式处理系统和分布式处理方法 | |
US8959226B2 (en) | Load balancing workload groups | |
Bakshi | Considerations for big data: Architecture and approach | |
CN102053982B (zh) | 一种数据库信息管理方法和设备 | |
US9740435B2 (en) | Methods for managing content stored in cloud-based storages | |
US9069835B2 (en) | Organizing data in a distributed storage system | |
US20160292249A1 (en) | Dynamic replica failure detection and healing | |
US11561930B2 (en) | Independent evictions from datastore accelerator fleet nodes | |
Chang et al. | Complete and fragmented replica selection and retrieval in Data Grids | |
US20100332531A1 (en) | Batched Transfer of Arbitrarily Distributed Data | |
EP3384384A1 (en) | Methods and devices for acquiring data using virtual machine and host machine | |
EP3049940A1 (en) | Data caching policy in multiple tenant enterprise resource planning system | |
CN111309805B (zh) | 数据库的数据读写方法及装置 | |
KR20120110871A (ko) | 분산 파일 시스템의 저장서버 결정 및 검색방법 | |
Da Silva et al. | An evaluation of relational and NoSQL distributed databases on a low-power cluster | |
US9063858B2 (en) | Multi-core system and method for data consistency by memory mapping address (ADB) to hash table pattern associated with at least one core | |
JP2017123040A (ja) | サーバー装置、分散ファイルシステム、分散ファイルシステム制御方法、および、プログラム | |
KR100785774B1 (ko) | 객체 기반 파일 입출력 시스템 및 방법 | |
US10621148B1 (en) | Maintaining multiple object stores in a distributed file system | |
Youn et al. | Cloud computing burst system (CCBS): for exa-scale computing system | |
CN117076409B (zh) | 文件共享方法、装置、系统、电子设备及存储介质 | |
JP7211992B2 (ja) | 事業者情報管理システム及びサーバ | |
Nwe et al. | Performance analysis of key-value stores with consistent replica selection approach | |
KR101924466B1 (ko) | 하둡 기반 시스템을 위한 캐시 인지 작업 스케줄링 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |