[go: up one dir, main page]

JP6984138B2 - Server device, server control method, program, server system - Google Patents

Server device, server control method, program, server system Download PDF

Info

Publication number
JP6984138B2
JP6984138B2 JP2017029079A JP2017029079A JP6984138B2 JP 6984138 B2 JP6984138 B2 JP 6984138B2 JP 2017029079 A JP2017029079 A JP 2017029079A JP 2017029079 A JP2017029079 A JP 2017029079A JP 6984138 B2 JP6984138 B2 JP 6984138B2
Authority
JP
Japan
Prior art keywords
function
common
core
server device
programmable circuit
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.)
Active
Application number
JP2017029079A
Other languages
Japanese (ja)
Other versions
JP2018136618A (en
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2017029079A priority Critical patent/JP6984138B2/en
Publication of JP2018136618A publication Critical patent/JP2018136618A/en
Application granted granted Critical
Publication of JP6984138B2 publication Critical patent/JP6984138B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、サーバ装置、サーバ制御方法、プログラム、サーバシステムに関し、特に、HW(hardware)アクセラレータを有するサーバ装置、サーバ制御方法、プログラム、サーバシステムに関する。 The present invention relates to a server device, a server control method, a program, and a server system, and more particularly to a server device having an HW (hardware) accelerator, a server control method, a program, and a server system.

性能を向上させるため、HWアクセラレータを有し当該HWアクセラレータと連携して処理を行うサーバ装置が知られている。HWアクセラレータとしては、例えば、FPGA(field-programmable gate array)がある。FPGAは、例えばGPU(Graphics Processing Unit)などと比較して性能面で優位であり、かつ、消費電力を抑えることが出来る。また、FPGAは、外部通信機能も有することが可能であり、HWアクセラレータの中でも利用の柔軟性に優れている。 In order to improve the performance, a server device having an HW accelerator and performing processing in cooperation with the HW accelerator is known. As the HW accelerator, for example, there is an FPGA (field-programmable gate array). FPGA is superior in performance to, for example, GPU (Graphics Processing Unit) and can suppress power consumption. In addition, FPGA can also have an external communication function, and is excellent in flexibility of use among HW accelerators.

このようなFPGAを用いるシステムとして、例えば、特許文献1が知られている。特許文献1には、ユーザに対して1つまたは複数のFPGAへの共用アクセスなどのサービスを提供するデータセンタが記載されている。具体的には、データセンタは、ユーザから受け取った設計パッケージに管理ペイロードを付与するとともに、管理ペイロードに適合するユーザキーを作成する。そして、データセンサは、ユーザキーを用いた選択的なアクセスを提供する。 As a system using such an FPGA, for example, Patent Document 1 is known. Patent Document 1 describes a data center that provides a service such as shared access to one or more FPGAs to a user. Specifically, the data center attaches the management payload to the design package received from the user and creates a user key that matches the management payload. The data sensor then provides selective access using the user key.

特表2015−507234号公報Japanese Patent Publication No. 2015-507234

FPGAを搭載した複数台のサーバによりシステムを構成する場合、サーバごとにFPGAによるアクセラレーションを行う機能が固定していることになる。そのため、ユーザからリクエストされる機能や時間帯によっては、利用可能なユーザ数が限定される、又は、サーバ台数に過剰が出るなど、利用効率が上がらないという問題があった。 When the system is configured by a plurality of servers equipped with FPGA, the function of accelerating by FPGA is fixed for each server. Therefore, there is a problem that the utilization efficiency does not improve because the number of available users is limited or the number of servers becomes excessive depending on the function and the time zone requested by the user.

また、特許文献1に記載されている技術は、受け取った設計パッケージに応じてFPGA全体を再構成することになる。そのため、FPGA全体を構成するための設計パッケージを開発することが必要となり、設計パックを開発する規模が大きくなるおそれがあった。さらに、特許文献1に記載されている技術の場合、ユーザが設計パッケージを作成することが必要になる。そのため、ユーザの負担が増加することが考えられる。以上からすると、特許文献1の技術を用いたとしても、上記問題を解決することは難しかった。 Further, the technique described in Patent Document 1 will reconstruct the entire FPGA according to the received design package. Therefore, it is necessary to develop a design package for constituting the entire FPGA, and there is a risk that the scale for developing the design pack will increase. Further, in the case of the technique described in Patent Document 1, it is necessary for the user to create a design package. Therefore, it is possible that the burden on the user will increase. From the above, it was difficult to solve the above problem even if the technique of Patent Document 1 was used.

以上のように、FPGAを搭載したサーバを有するサーバシステムの利用効率を上げることが難しい、という問題が生じていた。 As described above, there has been a problem that it is difficult to improve the utilization efficiency of a server system having a server equipped with FPGA.

そこで、本発明の目的は、FPGAを搭載したサーバを有するサーバシステムの利用効率を上げることが難しい、という問題を解決するサーバ装置、サーバ制御方法、プログラム、サーバシステムを提供することにある。 Therefore, an object of the present invention is to provide a server device, a server control method, a program, and a server system that solves the problem that it is difficult to improve the utilization efficiency of a server system having a server equipped with an FPGA.

かかる目的を達成するため本発明の一形態であるサーバ装置は、
プログラム可能な回路を備えるサーバ装置であって、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を含み、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込む
という構成を採る。
The server device, which is one embodiment of the present invention, is used to achieve such an object.
A server device with a programmable circuit
The server device includes a core unit set according to a function implemented by the programmable circuit, and a common unit in which a function common to each function implemented by the programmable circuit is preset. ,
When the server device receives a function package provided in advance according to the function performed by the programmable circuit, the server device includes a core according to the function performed by the programmable circuit included in the received function package. The configuration is to write to the core part.

また、本発明の他の形態であるサーバ制御方法は、
プログラム可能な回路を備えるサーバ装置により実行されるサーバ制御方法であって、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を含み、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込む
という構成を採る。
Further, the server control method, which is another embodiment of the present invention, is
A server control method executed by a server device equipped with a programmable circuit.
The server device includes a core unit set according to a function implemented by the programmable circuit, and a common unit in which a function common to each function implemented by the programmable circuit is preset. ,
When the server device receives a function package provided in advance according to the function performed by the programmable circuit, the server device includes a core according to the function performed by the programmable circuit included in the received function package. The configuration is to write to the core part.

また、本発明の他の形態であるプログラムは、
プログラム可能な回路を備えるサーバ装置に、
前記プログラム可能な回路が実施する機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を実現させ、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込む
処理を実現させるためのプログラムである。
In addition, the program which is another embodiment of the present invention
For server devices with programmable circuits
A core unit set according to the function performed by the programmable circuit and a common unit in which a function common to each function implemented by the programmable circuit is preset are realized.
When the server device receives a functional package provided in advance according to the function performed by the programmable circuit, the server device includes a core according to the function performed by the programmable circuit included in the received functional package. It is a program to realize the process of writing to the core part.

また、本発明の他の形態であるサーバシステムは、
制御装置と、プログラム可能な回路を有するサーバ装置と、を有するサーバシステムであって、
前記制御装置は、前記プログラム可能な回路が実施する機能に応じて予め作成された複数の機能パッケージと、ユーザからの問い合わせに応じて前記機能パッケージを前記サーバ装置に送信する管理部と、を有し、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を含み、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込む
という構成を採る。
Further, the server system, which is another embodiment of the present invention, is
A server system having a control device and a server device having a programmable circuit.
The control device includes a plurality of functional packages created in advance according to the functions performed by the programmable circuit, and a management unit that transmits the functional packages to the server device in response to an inquiry from a user. death,
The server device includes a core unit set according to a function implemented by the programmable circuit, and a common unit in which a function common to each function implemented by the programmable circuit is preset. ,
When the server device receives a function package provided in advance according to the function performed by the programmable circuit, the server device includes a core according to the function performed by the programmable circuit included in the received function package. The configuration is to write to the core part.

本発明は、以上のように構成されることにより、FPGAを搭載したサーバを有するサーバシステムの利用効率を上げることが難しい、という問題を解決するサーバ装置、サーバ制御方法、プログラム、サーバシステムを提供することが可能となる。 The present invention provides a server device, a server control method, a program, and a server system that solves the problem that it is difficult to improve the utilization efficiency of a server system having a server equipped with FPGA by being configured as described above. It becomes possible to do.

本発明の第1の実施形態に係るシステムの全体の構成の一例を示す図である。It is a figure which shows an example of the whole structure of the system which concerns on 1st Embodiment of this invention. 記憶装置に格納される機能パッケージの一例を示す図である。It is a figure which shows an example of the functional package stored in a storage device. システムにより行われる処理の具体的な一例について示す図である。It is a figure which shows a specific example of the processing performed by a system. 本発明の第1の実施形態に係るFPGAアクセラレータ制御システムとサーバ装置の処理の一例を示すフローチャートである。It is a flowchart which shows an example of the processing of the FPGA accelerator control system and the server apparatus which concerns on 1st Embodiment of this invention. 本発明の第2の実施形態に係るサーバ装置の構成の一例を示す概略ブロック図である。It is a schematic block diagram which shows an example of the structure of the server apparatus which concerns on 2nd Embodiment of this invention. 本発明の第2の実施形態に係るサーバシステムの構成の一例を示す概略ブロック図である。It is a schematic block diagram which shows an example of the structure of the server system which concerns on 2nd Embodiment of this invention.

[第1の実施形態]
本発明の第1の実施形態を図1乃至図4を参照して説明する。図1は、本発明の第1の実施形態に係るシステムの全体の構成の一例を示す図である。図2は、記憶装置12に格納される機能パッケージ121の一例を示す図である。図3は、処理の具体的な一例について示す図である。図4は、FPGAアクセラレータ制御システム10とサーバ装置20の処理の一例を示すフローチャートである。
[First Embodiment]
The first embodiment of the present invention will be described with reference to FIGS. 1 to 4. FIG. 1 is a diagram showing an example of the overall configuration of the system according to the first embodiment of the present invention. FIG. 2 is a diagram showing an example of a functional package 121 stored in the storage device 12. FIG. 3 is a diagram showing a specific example of processing. FIG. 4 is a flowchart showing an example of processing of the FPGA accelerator control system 10 and the server device 20.

第1の実施形態では、プログラム可能な回路であるFPGA(field-programmable gate array)22を有するサーバ装置20を複数備えるサーバシステム1について説明する。本実施形態におけるサーバシステム1は、FPGA22が実施する各種機能(例えば、ビッグデータ等大量データの分析機能、顔認証や人物行動等の画像分析機能など。例示した以外の機能でも構わない)に応じた機能パッケージ121を複数有している。後述するように、サーバシステム1は、ユーザからのリクエストに応じて、リクエストされた機能パッケージ121をサーバ装置20へダウンロードする。また、サーバ装置20は、ダウンロードされた機能パッケージ121を展開して、機能パッケージ121に含まれるFPGAコアをFPGAコア部211に書き込む。本実施形態においては、例えば、このようにして、リクエストされた機能に適したFPGA22の構築を行う。 In the first embodiment, a server system 1 including a plurality of server devices 20 having an FPGA (field-programmable gate array) 22 which is a programmable circuit will be described. The server system 1 in the present embodiment responds to various functions implemented by the FPGA 22 (for example, an analysis function for a large amount of data such as big data, an image analysis function such as face recognition and human behavior, etc. Functions other than those illustrated may be used). It has a plurality of functional packages 121. As will be described later, the server system 1 downloads the requested functional package 121 to the server device 20 in response to a request from the user. Further, the server device 20 expands the downloaded functional package 121 and writes the FPGA core included in the functional package 121 to the FPGA core unit 211. In the present embodiment, for example, the FPGA 22 suitable for the requested function is constructed in this way.

図1を参照すると、本実施形態において説明する機能実行システムは、例えば、サーバシステム1とユーザ装置4とを有している。サーバシステム1とユーザ装置4とは、例えば、インターネットなどのネットワーク5を介して互いに通信可能なよう接続されている。 Referring to FIG. 1, the function execution system described in this embodiment includes, for example, a server system 1 and a user device 4. The server system 1 and the user device 4 are connected so as to be able to communicate with each other via a network 5 such as the Internet.

サーバシステム1は、例えば、複数のサーバ装置20を管理するデータセンタなどである。サーバシステム1は、FPGAアクセラレータ制御システム10と、複数のサーバ装置20と、を有している。FPGAアクセラレータ制御システム10とサーバ装置20とは、例えば、LAN(Local Area Network)30を介して、互いに通信可能なよう接続されている。 The server system 1 is, for example, a data center that manages a plurality of server devices 20. The server system 1 includes an FPGA accelerator control system 10 and a plurality of server devices 20. The FPGA accelerator control system 10 and the server device 20 are connected so as to be able to communicate with each other via, for example, a LAN (Local Area Network) 30.

なお、本実施形態においては、サーバシステム1が有するサーバ装置20の数は特に限定しない。サーバシステム1は、たとえば、1つや2つのサーバ装置20から構成されていても構わないし、3以上の任意の数のサーバ装置20から構成されていても構わない。 In this embodiment, the number of server devices 20 included in the server system 1 is not particularly limited. The server system 1 may be composed of, for example, one or two server devices 20, or may be composed of any number of server devices 20 of three or more.

FPGAアクセラレータ制御システム10は、例えばサーバ装置などの情報処理装置である。FPGAアクセラレータ制御システム10は、ユーザからのリクエストに応じて、自身が有する記憶装置12に格納された機能パッケージ121をサーバ装置20にダウンロードする。また、FPGAアクセラレータ制御システム10は、ユーザからのリクエストに応じたサーバ装置20の構築が終了すると、準備が完了した旨と準備が完了したサーバ装置20のログイン情報をユーザ装置4へ通知する。 The FPGA accelerator control system 10 is an information processing device such as a server device. The FPGA accelerator control system 10 downloads the functional package 121 stored in the storage device 12 owned by the FPGA accelerator control system 10 to the server device 20 in response to a request from the user. Further, when the construction of the server device 20 in response to the request from the user is completed, the FPGA accelerator control system 10 notifies the user device 4 that the preparation is completed and the login information of the server device 20 that has been prepared.

図1を参照すると、FPGAアクセラレータ制御システム10は、管理マネージャ11と、記憶装置12と、を有している。また、記憶装置12には、複数種類の機能パッケージ121が格納されている。 Referring to FIG. 1, the FPGA accelerator control system 10 has a management manager 11 and a storage device 12. Further, the storage device 12 stores a plurality of types of functional packages 121.

なお、FPGAアクセラレータ制御システム10は、例えば、図示しない記憶装置と図示しない演算装置とを有している。FPGAアクセラレータ制御システム10は、例えば、図示しない記憶装置に格納されたプログラムを図示しない演算装置が実行することで、管理マネージャ11を実現する。 The FPGA accelerator control system 10 has, for example, a storage device (not shown) and an arithmetic unit (not shown). The FPGA accelerator control system 10 realizes the management manager 11 by, for example, executing a program stored in a storage device (not shown) by an arithmetic unit (not shown).

管理マネージャ11は、ユーザ装置4からのリクエストに応じた処理を行うとともに、リクエストに応じた準備が完了した旨やサーバ装置20のログイン情報をユーザ装置4へ送信する。また、管理マネージャ11は、サーバ装置20のユーザ装置4による利用状況を管理するよう構成することが出来る。 The management manager 11 performs processing in response to the request from the user device 4, and also transmits to the user device 4 that the preparation in response to the request has been completed and the login information of the server device 20. Further, the management manager 11 can be configured to manage the usage status of the server device 20 by the user device 4.

例えば、管理マネージャ11は、ユーザからのリクエストを受信する。すると、管理マネージャ11は、受信したリクエストに応じて、記憶装置12に格納された機能パッケージ121の一覧をユーザ装置4に対して出力する。また、管理マネージャ11は、出力した一覧の中からユーザにより選択された機能パッケージ121を、サーバ装置20へダウンロードする。この際、管理マネージャ11は、例えば、サーバ装置20のうちユーザ装置4により利用されていないサーバ装置20へ機能パッケージ121をダウンロードする。なお、本実施形態においては、管理マネージャ11による機能パッケージ121をダウンロードするサーバ装置20の決定方法については、特に限定しない。管理マネージャ11は、既知の様々な方法を用いて、ダウンロード先のサーバ装置20を決定するよう構成して構わない。 For example, the management manager 11 receives a request from a user. Then, the management manager 11 outputs a list of the functional packages 121 stored in the storage device 12 to the user device 4 in response to the received request. Further, the management manager 11 downloads the functional package 121 selected by the user from the output list to the server device 20. At this time, the management manager 11 downloads the function package 121 to, for example, the server device 20 of the server device 20 that is not used by the user device 4. In the present embodiment, the method of determining the server device 20 to download the functional package 121 by the management manager 11 is not particularly limited. The management manager 11 may be configured to determine the download destination server device 20 using various known methods.

また、管理マネージャ11は、サーバ装置20にダウンロードした機能パッケージ121をサーバ装置20上で展開する。そして、管理マネージャ11は、展開したOS(Operating System)、FPGA共通基盤ドライバなどのインストールを行う。なお、機能パッケージ121がOSイメージの場合は、機能パッケージ121を展開するだけで構わない。 Further, the management manager 11 deploys the functional package 121 downloaded to the server device 20 on the server device 20. Then, the management manager 11 installs the deployed OS (Operating System), FPGA common platform driver, and the like. If the functional package 121 is an OS image, it is sufficient to expand the functional package 121.

また、サーバ装置20の準備が完了すると、管理マネージャ11は、サーバ装置20から準備完了の通知を受け取る。すると、管理マネージャ11は、ユーザ装置4に対して、準備が完了した旨を通知する。また、管理マネージャ11は、ユーザからのリクエストに応じて準備を行ったサーバ装置20へのログイン情報をユーザ装置4へ通知する。 Further, when the preparation of the server device 20 is completed, the management manager 11 receives a notification of the completion of preparation from the server device 20. Then, the management manager 11 notifies the user device 4 that the preparation is completed. Further, the management manager 11 notifies the user device 4 of the login information to the server device 20 prepared in response to the request from the user.

このように、管理マネージャ11は、ユーザからのリクエストに基づく制御やサーバ装置20の管理など、全体的な制御・管理を実行する。 In this way, the management manager 11 executes overall control / management such as control based on a request from the user and management of the server device 20.

記憶装置12は、メモリやハードディスクなどの記憶装置である。記憶装置12には、複数種類の機能パッケージ121が格納されている。 The storage device 12 is a storage device such as a memory or a hard disk. A plurality of types of functional packages 121 are stored in the storage device 12.

機能パッケージ121は、FPGA22によるアクセラレーションを行う機能ごとに予め設けられた情報である。機能パッケージ121の具体的な例としては、例えば、ビッグデータなどのデータ分析機能に応じたパッケージや、画像分析機能に応じたパッケージなどがある。図2を参照すると、機能パッケージ121には、例えば、OS、FPGA共通基盤ドライバ、アプリケーション、FPGAコア、などが含まれている。例えば、図2の1行目は、機能パッケージ121−Aには、OSと、FPGA共通基盤ドライバと、アプリケーションAと、FPGAコアAと、が含まれていることを示している。 The function package 121 is information provided in advance for each function to be accelerated by the FPGA 22. Specific examples of the functional package 121 include, for example, a package corresponding to a data analysis function such as big data, a package corresponding to an image analysis function, and the like. Referring to FIG. 2, the functional package 121 includes, for example, an OS, an FPGA common board driver, an application, an FPGA core, and the like. For example, the first line of FIG. 2 shows that the functional package 121-A includes an OS, an FPGA common board driver, an application A, and an FPGA core A.

図2中のOSは、サーバ装置20の管理・制御などを行うソフトウェアである。OSは、機能パッケージ121により実現されるFPGA22が実施する機能に応じて設定されていても構わないし、各機能パッケージ121で共通するOSが設定されていても構わない。換言すると、図2中のOSは、機能パッケージ12により実現する機能に特化した機能を有するOSであっても構わない。図2中のFPGA共通基盤ドライバは、FPGA共通基盤21を制御する。FPGA共通基盤ドライバは、たとえば、各機能で共通である。図2中のアプリケーションは、機能パッケージ121により実現されるFPGA22が実施する機能に応じた機能を有しており、ユーザとのI/F(interface)や機能の実行を行う。アプリケーションには、例えば、データ分析機能を有するアプリケーションや画像分析機能を有するアプリケーションなどが含まれ得る。アプリケーションは、一つのアプリケーションのみから構成されていても構わないし、複数のアプリケーションから構成されていても構わない。図2中のFPGAコアは、FPGA共通基盤21を機能パッケージ121により実現される機能用にコンフィグレーション(設定)する際に必要な情報から構成されている。後述するように、FPGAコアは、FPGA共通部212によりFPGAコア部211に書き込まれることになる。 The OS in FIG. 2 is software that manages and controls the server device 20. The OS may be set according to the function performed by the FPGA 22 realized by the function package 121, or the OS common to each function package 121 may be set. In other words, the OS in FIG. 2 may be an OS having a function specialized for the function realized by the function package 12. The FPGA common board driver in FIG. 2 controls the FPGA common board 21. The FPGA common board driver is, for example, common to each function. The application in FIG. 2 has a function corresponding to the function executed by the FPGA 22 realized by the function package 121, and performs an I / F (interface) with the user and the execution of the function. The application may include, for example, an application having a data analysis function, an application having an image analysis function, and the like. The application may be composed of only one application or may be composed of a plurality of applications. The FPGA core in FIG. 2 is composed of information necessary for configuring the FPGA common board 21 for the functions realized by the functional package 121. As will be described later, the FPGA core will be written to the FPGA core unit 211 by the FPGA common unit 212.

なお、機能パッケージ121は、OSイメージとして提供されても構わない。また、本実施形態においては、記憶装置12に格納する機能パッケージ121の数は特に限定しない。記憶装置12には、1つ又は2つの機能パッケージ121が格納されていても構わないし、3つ以上の機能パッケージ121が格納されていても構わない(2つ以上の複数の機能パッケージ121が格納されていることが望ましい)。 The functional package 121 may be provided as an OS image. Further, in the present embodiment, the number of functional packages 121 stored in the storage device 12 is not particularly limited. One or two functional packages 121 may be stored in the storage device 12, or three or more functional packages 121 may be stored (two or more plurality of functional packages 121 are stored). It is desirable that it is done).

サーバ装置20は、HW(hardware)アクセラレータであるFPGA22と連携して自身に割り当てられた各種処理などを実施する。図1を参照すると、サーバ装置20は、FPGA共通基盤21と、FPGA22とを有している。 The server device 20 performs various processes assigned to itself in cooperation with the FPGA 22 which is an HW (hardware) accelerator. Referring to FIG. 1, the server device 20 has an FPGA common board 21 and an FPGA 22.

なお、サーバ装置20は、例えば、図示しない記憶装置と図示しない演算装置とを有している。サーバ装置20は、例えば、図示しない記憶装置に格納されたプログラムを図示しない演算装置が実行することで、FPGA共通基盤21を実現する。FPGA共通基盤21は、論理回路などにより実現されても構わない。 The server device 20 has, for example, a storage device (not shown) and an arithmetic unit (not shown). The server device 20 realizes the FPGA common board 21 by, for example, executing a program stored in a storage device (not shown) by an arithmetic unit (not shown). The FPGA common board 21 may be realized by a logic circuit or the like.

FPGA共通基盤21は、各機能向けにFPGA22をコンフィグレーション(設定)する際などに用いる。FPGA共通基盤21は、各機能に特化した、機能パッケージ121に含まれるFPGAコアを書き込むFPGAコア部211と、各機能共通の機能を持つFPGA共通部212と、を有している。 The FPGA common board 21 is used when configuring (setting) the FPGA 22 for each function. The FPGA common board 21 has an FPGA core unit 211 for writing the FPGA core included in the function package 121, which is specialized for each function, and an FPGA common unit 212 having a function common to each function.

FPGAコア部211には、FPGA共通部212により、機能パッケージ121に含まれるFPGAコアが書き込まれる。FPGAコア部211にFPGAコアを書き込むことで、FPGA22が機能パッケージ121により実施しようとする機能を有することになる。 The FPGA core included in the functional package 121 is written in the FPGA core unit 211 by the FPGA common unit 212. By writing the FPGA core to the FPGA core unit 211, the FPGA 22 has the function to be implemented by the functional package 121.

FPGA共通部212は、FPGAコア部211に対するコンフィグレーション機能や種々のコントローラ機能、FPGA共通基盤21やFPGA22を監視する機能など、機能パッケージ121により実施しようとする機能によらない、各機能に共通する機能を有している。FPGA共通部212は、例えば、FPGAコア部211への書き込み機能などFPGAコア部211のコンフィグレーション機能を有している。また、FPGA共通部212は、例えば、メモリコントローラ、PCIe(PCI-Express)コントローラ、DMA(Direct Memory Access)エンジンなどの機能を有することが出来る。FPGA共通部212は、FPGA共通基盤21の温度監視機能やDMAの監視機能(メモリエラーなどの異常検出機能)、WDT(watchdog timer)によるアプリケーションなどの死活監視機能、電圧監視機能などのRAS(Remote Access Service)系の機能を有することも出来る。FPGA共通部212は、性能情報採取機能、サーバ装置20が有する図示しないCPLD(Complex Programmable Logic Device)のアップデート機能、電力やファンの制御機能、暗号化機能などを有しても構わない。なお、FPGA共通部212は、上記例示したうちの一部の機能を有しても構わないし、また、上記例示していない機能を有しても構わない。 The FPGA common unit 212 is common to all functions, such as a configuration function for the FPGA core unit 211, various controller functions, and a function for monitoring the FPGA common board 21 and FPGA 22, regardless of the functions to be implemented by the function package 121. It has a function. The FPGA common unit 212 has a configuration function of the FPGA core unit 211 such as a write function to the FPGA core unit 211, for example. Further, the FPGA common unit 212 can have functions such as a memory controller, a PCIe (PCI-Express) controller, and a DMA (Direct Memory Access) engine. The FPGA common unit 212 is a RAS (Remote) such as a temperature monitoring function of the FPGA common board 21, a DMA monitoring function (abnormality detection function such as a memory error), a life-and-death monitoring function for applications by WDT (watchdog timer), and a voltage monitoring function. It can also have Access Service) functions. The FPGA common unit 212 may have a performance information collection function, a CPLD (Complex Programmable Logic Device) update function (not shown) included in the server device 20, a power and fan control function, an encryption function, and the like. The FPGA common unit 212 may have some of the functions illustrated above, or may have a function not illustrated above.

FPGA22は、プログラム可能な回路(ゲートアレイ)である。FPGA22は、FPGAコア部211に書き込まれたFPGAコアに応じた機能を実施する。 The FPGA 22 is a programmable circuit (gate array). The FPGA 22 performs a function according to the FPGA core written in the FPGA core unit 211.

このような構成のサーバ装置20に、ユーザ装置4からのリクエストに応じた機能パッケージ121がダウンロードされ展開される。以下、サーバ装置20に機能パッケージ121がダウンロードされた後の一例について、図3を参照して説明する。 The functional package 121 in response to the request from the user device 4 is downloaded and expanded to the server device 20 having such a configuration. Hereinafter, an example after the functional package 121 is downloaded to the server device 20 will be described with reference to FIG.

例えば、図3で示す場合、サーバ装置20に図2で示す機能パッケージ121−Aがダウンロードされた場合を示している。この場合、サーバ装置20には、機能パッケージ121−Aがダウンロードされ、OS−A、FPGA共通基盤ドライバ、アプリケーションA、FPGAコアAが展開される。すると、サーバ装置20は、展開されたOS―A、FPGA共通基盤ドライバなどのインストールを行う。また、サーバ装置20にインストールされたFPGA共通基盤ドライバは、FPGA共通基盤21の初期化を行う。 For example, in the case shown in FIG. 3, the case where the functional package 121-A shown in FIG. 2 is downloaded to the server device 20 is shown. In this case, the functional package 121-A is downloaded to the server device 20, and the OS-A, the FPGA common board driver, the application A, and the FPGA core A are deployed. Then, the server device 20 installs the expanded OS-A, FPGA common board driver, and the like. Further, the FPGA common board driver installed in the server device 20 initializes the FPGA common board 21.

また、各種インストール、初期化が完了すると、アプリケーションAが起動する。すると、アプリケーションAは、FPGA共通基盤ドライバに対して、FPGA共通基盤21へFPGAコアAの書き込みを指示する。書き込みを指示されたFPGA共通基盤ドライバは、FPGA共通部212に、FPGAコアAのFPGAコア部211への書き込みを指示する。これにより、FPGA共通部212によるFPGAコア部211に対するFPGAコアAの書き込みが行われる。FPGAコアAの書き込みが完了すると、FPGA共通部212は、FPGA共通基盤ドライバを介して、アプリケーションAに書き込みが完了した旨を通知する。その後、アプリケーションAは、管理マネージャ11に準備完了の通知を行う。これにより、ユーザ装置4からリクエストされた機能に適したFPGA22の構築が完了する。その後、ユーザ装置4などからの指示に応じて、アプリケーションAはFPGA22などと連携して所定の処理を実施することとなる。 Further, when various installations and initializations are completed, the application A is started. Then, the application A instructs the FPGA common board driver to write the FPGA core A to the FPGA common board 21. The FPGA common board driver instructed to write instructs the FPGA common unit 212 to write the FPGA core A to the FPGA core unit 211. As a result, the FPGA core A is written to the FPGA core unit 211 by the FPGA common unit 212. When the writing of the FPGA core A is completed, the FPGA common unit 212 notifies the application A that the writing is completed via the FPGA common board driver. After that, the application A notifies the management manager 11 of the completion of preparation. This completes the construction of the FPGA 22 suitable for the function requested by the user device 4. After that, according to the instruction from the user device 4 or the like, the application A performs a predetermined process in cooperation with the FPGA 22 or the like.

ユーザ装置4は、サーバシステム1を利用するパーソナルコンピュータやスマートフォン、タブレットなどの情報処理装置である。ユーザ装置4は、サーバシステム1(のFPGAアクセラレータ制御システム10)に対して、利用したい機能のリクエストを行う。利用したい機能のリクエストは、たとえば、FPGAアクセラレータ制御システム10から送信された機能パッケージ121の一覧の中から選択することで行われる。また、ユーザ装置4は、サーバシステム1のFPGAアクセラレータ制御システム10から、準備完了が完了した旨の通知とサーバ装置20へのログイン情報を受信する。これにより、ユーザ装置4は、受信したログイン情報を利用して、サーバ装置20に構築された、リクエストした機能を利用することが出来る。 The user device 4 is an information processing device such as a personal computer, a smartphone, or a tablet that uses the server system 1. The user device 4 requests the server system 1 (FPGA accelerator control system 10) for the function to be used. The request for the function to be used is made, for example, by selecting from the list of the function packages 121 transmitted from the FPGA accelerator control system 10. Further, the user apparatus 4 receives a notification from the FPGA accelerator control system 10 of the server system 1 that the preparation is completed and login information to the server apparatus 20. As a result, the user device 4 can use the requested function built in the server device 20 by using the received login information.

以上が、第1の実施形態におけるサーバシステム1を有するシステムの構成の一例である。続いて、図4を参照して、FPGAアクセラレータ制御システム10とサーバ装置20により行われる処理の一例について説明する。 The above is an example of the configuration of the system having the server system 1 in the first embodiment. Subsequently, with reference to FIG. 4, an example of the processing performed by the FPGA accelerator control system 10 and the server device 20 will be described.

図4を参照すると、ユーザ装置4はネットワーク5を通じて、FPGAアクセラレータ制御システム10の管理マネージャ11にアクセスする。管理マネージャ11は、記憶装置12に格納された機能パッケージ121の一覧を表示する。ユーザ装置4は、表示された機能パッケージ121の一覧の中から利用する機能(機能パッケージ121)を選択する。 Referring to FIG. 4, the user apparatus 4 accesses the management manager 11 of the FPGA accelerator control system 10 through the network 5. The management manager 11 displays a list of functional packages 121 stored in the storage device 12. The user device 4 selects a function (functional package 121) to be used from the displayed list of functional packages 121.

管理マネージャ11は、ユーザ装置4により選択された機能パッケージ121をサーバ装置20にダウンロードする(ステップS101)。 The management manager 11 downloads the functional package 121 selected by the user apparatus 4 to the server apparatus 20 (step S101).

管理マネージャ11は、サーバ装置20に対する機能パッケージ121のダウンロードが完了すると、当該機能パッケージ121をサーバ装置20で展開する。そして、管理マネージャ11は、展開したOS、FPGA共通基盤ドライバなどのサーバ装置20に対するインストールを行う(ステップS102)。なお、機能パッケージ121がOSイメージの場合は、展開するだけで良い。 When the management manager 11 completes the download of the functional package 121 to the server device 20, the management manager 11 expands the functional package 121 on the server device 20. Then, the management manager 11 installs the deployed OS, the FPGA common board driver, and the like on the server device 20 (step S102). If the functional package 121 is an OS image, it only needs to be expanded.

サーバ装置20にインストールされたFPGA共通基盤ドライバは、FPGA共通基盤21の初期化を行う(ステップS201)。 The FPGA common board driver installed in the server device 20 initializes the FPGA common board 21 (step S201).

ステップS102で行われる各種インストール、ステップS201で行われる初期化が完了すると、展開した機能パッケージ121に含まれるアプリケーションが起動する(ステップS202)。 When the various installations performed in step S102 and the initialization performed in step S201 are completed, the application included in the expanded function package 121 is started (step S202).

アプリケーションは、FPGA共通基盤ドライバに対し、展開した機能パッケージ121に含まれるFPGAコアのFPGA共通基盤21への書き込みを指示する。書き込みを指示されたFPGA共通基盤ドライバは、FPGA共通部212に、FPGAコアのFPGAコア部211への書き込みを指示する。これにより、FPGA共通部212は、FPGAコア部211へFPGAコアを書き込むことになる(ステップS203)。 The application instructs the FPGA common board driver to write the FPGA core included in the expanded functional package 121 to the FPGA common board 21. The FPGA common board driver instructed to write instructs the FPGA common unit 212 to write the FPGA core to the FPGA core unit 211. As a result, the FPGA common unit 212 writes the FPGA core to the FPGA core unit 211 (step S203).

FPGAコアの書き込みが完了すると、FPGA共通部212は、FPGA共通基盤ドライバを介して、アプリケーションに書き込みが完了した旨を通知する。すると、アプリケーションは、管理マネージャ11に準備完了の通知を行う(ステップS204)。これにより、ユーザ装置4からリクエストされた機能に適したFPGA22の構築が完了する。 When the writing of the FPGA core is completed, the FPGA common unit 212 notifies the application that the writing is completed via the FPGA common board driver. Then, the application notifies the management manager 11 of the completion of preparation (step S204). This completes the construction of the FPGA 22 suitable for the function requested by the user device 4.

アプリケーションから準備完了の通知を受け取った管理マネージャ11は、ユーザ装置4に準備完了とサーバ装置20のログイン情報を通知する(ステップS103)。 Upon receiving the notification of the completion of preparation from the application, the management manager 11 notifies the user apparatus 4 of the completion of preparation and the login information of the server apparatus 20 (step S103).

なお、次に別のユーザ装置4から異なる機能のシステム構築のリクエストが来た場合、ステップS101から同様の手順で異なるサーバ装置20にシステム構築を行うことになる。本実施形態においては、システム構築を行うサーバ装置20の選択方法については、特に限定しない。 Next, when a request for system construction of a different function comes from another user device 4, the system is built on the different server device 20 by the same procedure from step S101. In the present embodiment, the selection method of the server device 20 for constructing the system is not particularly limited.

このように、本実施形態におけるサーバシステム1は、複数の機能パッケージ121を有するFPGAアクセラレータ制御システム10と、FPGA22を有するサーバ装置20と、を有している。また、サーバ装置20は各機能向けにFPGA22をコンフィグレーションする際に用いるFPGA共通基盤21を有しており、FPGA共通基盤21にはFPGAコア部211とFPGA共通部212とが含まれている。このような構成により、ユーザ装置4により選択された機能パッケージ121に含まれるFPGAコアをFPGAコア部211に書き込むことが出来る。その結果、ユーザ装置4がリクエストする機能ごとにFPGA22をコンフィグレーションしてシステムを再構築することが可能となる。これにより、システムがそれまで別の用途で稼働していても、ユーザがリクエストする機能用にシステムを再構築することが可能となる。例えば、機能A用のサーバ装置20を20台で運用後、機能Aで10台、機能Bで10台運用するような場合であっても、新たにサーバ装置20を増築することなく必要な運用を行うことが可能となる。換言すると、上記構成により、FPGAを搭載したサーバ装置20を有するサーバシステム1の利用効率を上げることが可能となる。 As described above, the server system 1 in the present embodiment includes the FPGA accelerator control system 10 having a plurality of functional packages 121, and the server device 20 having the FPGA 22. Further, the server device 20 has an FPGA common board 21 used when configuring the FPGA 22 for each function, and the FPGA common board 21 includes an FPGA core unit 211 and an FPGA common unit 212. With such a configuration, the FPGA core included in the functional package 121 selected by the user device 4 can be written to the FPGA core unit 211. As a result, it becomes possible to reconstruct the system by configuring the FPGA 22 for each function requested by the user device 4. This allows the system to be rebuilt for the features requested by the user, even if the system was previously running for another purpose. For example, even if the server device 20 for function A is operated with 20 units and then 10 units are operated with function A and 10 units are operated with function B, the necessary operation is required without adding a new server device 20. Can be done. In other words, the above configuration makes it possible to improve the utilization efficiency of the server system 1 having the server device 20 equipped with the FPGA.

また、本実施形態で説明したサーバシステム1の場合、FPGA共通基盤21にFPGAコア部211とFPGA共通部212とが含まれており、FPGAコア部211に各機能用のFPGAコアを書き込むことで、機能に応じたFPGA22の構築を行うことが出来る。このように、FPGAコア部211とFPGA共通部212とに分けることにより、開発規模を削減することが出来る。また、FPGA共通部212にFPGAコア部211を監視する機能や障害処理を行う機能を持たせることで、再構成時(FPGAコア部211にFPGAコアを書き込んだ時)に障害が発生した場合でも、FPGA共通部212で障害処理を行うことが可能となる。 Further, in the case of the server system 1 described in the present embodiment, the FPGA common board 21 includes the FPGA core unit 211 and the FPGA common unit 212, and the FPGA core for each function is written in the FPGA core unit 211. , FPGA 22 can be constructed according to the function. By dividing the FPGA core unit 211 and the FPGA common unit 212 in this way, the development scale can be reduced. Further, by providing the FPGA common unit 212 with a function of monitoring the FPGA core unit 211 and a function of performing failure processing, even if a failure occurs at the time of reconfiguration (when the FPGA core is written to the FPGA core unit 211). , FPGA common unit 212 can perform failure processing.

なお、本実施形態においては、サーバシステム1は、サーバ装置20の他にFPGAアクセラレータ制御システム10を有するとした。しかしながら、例えば、FPGAアクセラレータ制御システム10の機能は、サーバシステム1が有するサーバ装置20のいずれかにより実現されても構わない。 In the present embodiment, the server system 1 has an FPGA accelerator control system 10 in addition to the server device 20. However, for example, the function of the FPGA accelerator control system 10 may be realized by any one of the server devices 20 included in the server system 1.

また、本実施形態においては、機能パッケージ121には、OSと、FPGA共通基盤ドライバとアプリケーションとFPGAコアとが含まれるとした。しかしながら、機能パッケージ121に含まれる情報は、上記例示した場合に限定されない。機能パッケージ121には、例えば、アプリケーションとFPGAコアとのみが含まれていても構わない。この場合、各サーバ装置20が予め共通するOSとFPGA共通基盤ドライバを有することになる。また、機能パッケージ121には、上記例示した以外の情報が含まれていても構わない。 Further, in the present embodiment, the functional package 121 includes an OS, an FPGA common platform driver, an application, and an FPGA core. However, the information contained in the functional package 121 is not limited to the above examples. The functional package 121 may include, for example, only the application and the FPGA core. In this case, each server device 20 has a common OS and an FPGA common board driver in advance. Further, the functional package 121 may contain information other than those illustrated above.

[第2の実施形態]
次に、図5、図6を参照して、本発明の第2の実施形態について説明する。第2の実施形態では、サーバ装置6、サーバシステム7の構成の概要について説明する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIGS. 5 and 6. In the second embodiment, the outline of the configuration of the server device 6 and the server system 7 will be described.

まず、図5を参照して、サーバ装置6の構成について説明する。 First, the configuration of the server device 6 will be described with reference to FIG.

図5を参照すると、サーバ装置6は、プログラム可能な回路61を有している。また、サーバ装置6は、プログラム可能な回路61が実施する機能に応じて設定されるコア部62と、プログラム可能な回路61が実施可能な各機能に共通の機能が予め設定された共通部63と、を有している。例えば、サーバ装置6は図示しない記憶装置と図示しない演算装置とを有しており、図示しない記憶装置に格納されたプログラムを図示しない演算装置が実行することで、上記コア部62と共通部63とを実現する。 Referring to FIG. 5, the server device 6 has a programmable circuit 61. Further, the server device 6 has a core unit 62 set according to the function executed by the programmable circuit 61 and a common unit 63 in which a function common to each function implemented by the programmable circuit 61 is preset. And have. For example, the server device 6 has a storage device (not shown) and an arithmetic unit (not shown), and the arithmetic unit (not shown) executes a program stored in the storage device (not shown) to execute the core unit 62 and the common unit 63. And realize.

上記のような構成を有するサーバ装置6は、プログラム可能な回路61が実施する機能に応じて予め設けられた機能パッケージを、例えば外部装置などから受信する。すると、サーバ装置6は、受信した機能パッケージに含まれる、プログラム可能な回路61が実施する機能に応じたコアをコア部62に書き込む。 The server device 6 having the above configuration receives a function package provided in advance according to the function performed by the programmable circuit 61 from, for example, an external device. Then, the server device 6 writes in the core unit 62 the core corresponding to the function performed by the programmable circuit 61 included in the received functional package.

このように、サーバ装置6は、プログラム可能な回路61を備えており、コア部62と、共通部63と、を有している。このような構成により、サーバ装置6は、プログラム可能な回路61が実施する機能に応じて予め設けられた機能パッケージを受信すると、受信した機能パッケージに含まれる、プログラム可能な回路61が実施する機能に応じたコアをコア部62に書き込むことが出来る。その結果、サーバ装置6は、受信した機能パッケージに応じた機能ごとにプログラム可能な回路61を構築することが可能となる。これにより、サーバ装置6のプログラム可能な回路61は、例えば、ユーザのリクエストなどに応じた機能を有することが可能となり、サーバ装置6の利用効率を上げることが可能となる。 As described above, the server device 6 includes a programmable circuit 61, and has a core portion 62 and a common portion 63. With such a configuration, when the server device 6 receives a function package provided in advance according to the function performed by the programmable circuit 61, the function performed by the programmable circuit 61 included in the received function package is performed. The core corresponding to the above can be written in the core portion 62. As a result, the server device 6 can construct a programmable circuit 61 for each function according to the received functional package. As a result, the programmable circuit 61 of the server device 6 can have a function according to, for example, a user's request, and the utilization efficiency of the server device 6 can be improved.

また、上述したサーバ装置6は、当該サーバ装置6に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、プログラム可能な回路61を備えるサーバ装置6に、プログラム可能な回路61が実施する機能に応じて設定されるコア部62と、プログラム可能な回路61が実施可能な各機能に共通の機能が予め設定された共通部63と、を実現させ、サーバ装置6は、プログラム可能な回路61が実施する機能に応じて予め設けられた機能パッケージを受信すると、受信した機能パッケージに含まれる、プログラム可能な回路61が実施する機能に応じたコアをコア部62に書き込むプログラムである。 Further, the above-mentioned server device 6 can be realized by incorporating a predetermined program into the server device 6. Specifically, the program according to another embodiment of the present invention is programmable to the server device 6 including the programmable circuit 61, the core unit 62 set according to the function performed by the programmable circuit 61, and the program. A common unit 63 in which a common function is preset for each function that can be implemented by the circuit 61 is realized, and the server device 6 provides a function package that is provided in advance according to the function that the programmable circuit 61 implements. Upon reception, it is a program that writes the core corresponding to the function performed by the programmable circuit 61 included in the received function package to the core unit 62.

また、上述したサーバ装置6により実行されるサーバ制御方法は、プログラム可能な回路61を備えるサーバ装置6により実行されるサーバ制御方法であって、サーバ装置6は、プログラム可能な回路61が実施する機能に応じて設定されるコア部62と、プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部63と、を含み、サーバ装置6は、プログラム可能な回路61が実施する機能に応じて予め設けられた機能パッケージを受信すると、受信した機能パッケージに含まれる、プログラム可能な回路61が実施する機能に応じたコアをコア部62に書き込む、という方法である。 Further, the server control method executed by the server device 6 described above is a server control method executed by the server device 6 including the programmable circuit 61, and the server device 6 is executed by the programmable circuit 61. The server device 6 includes a core unit 62 that is set according to a function and a common unit 63 that has a common function set in advance for each function that can be implemented by a programmable circuit. When a function package provided in advance according to the function to be executed is received, the core corresponding to the function to be executed by the programmable circuit 61 included in the received function package is written to the core unit 62.

上述した構成を有する、プログラム、又は、サーバ制御方法、の発明であっても、上記サーバ装置6と同様の作用を有するために、上述した本発明の目的を達成することが出来る。 Even the invention of the program or the server control method having the above-mentioned configuration can achieve the above-mentioned object of the present invention because it has the same operation as the above-mentioned server device 6.

続いて、図6を参照して、上述したサーバ装置6の他の形態であるサーバシステム7の構成について説明する。 Subsequently, with reference to FIG. 6, the configuration of the server system 7, which is another form of the server device 6 described above, will be described.

図6を参照すると、サーバシステム7は、制御装置8と、サーバ装置9と、を有している。 Referring to FIG. 6, the server system 7 includes a control device 8 and a server device 9.

制御装置8は、複数の機能パッケージ81と、管理部82と、を有している。例えば、制御装置8は、図示しない記憶装置と図示しない演算装置とを有している。制御装置8は、例えば、図示しない記憶装置に格納されたプログラムを図示しない演算装置が実行することで、管理部82を実現する。また、機能パッケージ81は、例えば、図示しない記憶装置に格納されている。 The control device 8 has a plurality of functional packages 81 and a management unit 82. For example, the control device 8 has a storage device (not shown) and an arithmetic unit (not shown). The control device 8 realizes the management unit 82, for example, by executing a program stored in a storage device (not shown) by an arithmetic unit (not shown). Further, the functional package 81 is stored in, for example, a storage device (not shown).

機能パッケージ81は、後述するプログラム可能な回路91が実施する機能に応じて予め作成されている。機能パッケージ81には、プログラム可能な回路91が実施する機能に応じたコアが含まれている。なお、制御装置8は、任意の数の機能パッケージ81を有することが出来る。 The functional package 81 is pre-made according to the functions performed by the programmable circuit 91 described later. The functional package 81 contains cores according to the functions performed by the programmable circuit 91. The control device 8 can have an arbitrary number of functional packages 81.

管理部82は、ユーザからの問い合わせに応じて機能パッケージ81をサーバ装置9に送信する。 The management unit 82 transmits the function package 81 to the server device 9 in response to an inquiry from the user.

サーバ装置9は、プログラム可能な回路91を有している。また、サーバ装置9は、プログラム可能な回路91が実施する機能に応じて設定されるコア部92と、プログラム可能な回路91が実施可能な各機能に共通の機能が予め設定された共通部93と、を有している。例えば、サーバ装置9は図示しない記憶装置と図示しない演算装置とを有しており、図示しない記憶装置に格納されたプログラムを図示しない演算装置が実行することで、上記コア部92と共通部93とを実現する。 The server device 9 has a programmable circuit 91. Further, the server device 9 has a core unit 92 set according to the function executed by the programmable circuit 91 and a common unit 93 in which a function common to each function implemented by the programmable circuit 91 is preset. And have. For example, the server device 9 has a storage device (not shown) and an arithmetic unit (not shown), and the arithmetic unit (not shown) executes a program stored in the storage device (not shown), so that the core unit 92 and the common unit 93 are executed. And realize.

上記のような構成を有するサーバ装置9は、プログラム可能な回路91が実施する機能に応じて予め設けられた機能パッケージを制御装置8から受信する。すると、サーバ装置9は、受信した機能パッケージに含まれる、プログラム可能な回路91が実施する機能に応じたコアをコア部92に書き込む。 The server device 9 having the above configuration receives a function package provided in advance according to the function performed by the programmable circuit 91 from the control device 8. Then, the server device 9 writes in the core unit 92 the core corresponding to the function performed by the programmable circuit 91 included in the received function package.

このような構成であっても、図5を参照して説明したサーバ装置6と同様の効果を有することが出来る。 Even with such a configuration, it is possible to have the same effect as that of the server device 6 described with reference to FIG.

<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるサーバ装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
プログラム可能な回路を備えるサーバ装置であって、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を含み、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込む
サーバ装置。
(付記2)
付記1に記載のサーバ装置であって、
前記機能パッケージには、前記プログラム可能な回路が実施する機能に応じたアプリケーションが含まれている
サーバ装置。
(付記3)
付記2に記載のサーバ装置であって、
前記機能パッケージには、前記プログラム可能な回路が実施可能な各機能に共通の共通基盤ドライバが含まれており、
前記アプリケーションは、前記コア部に対する前記コアの書き込みを行うよう前記共通基盤ドライバに対して指示し、
前記共通基盤ドライバは、前記指示に応じて、前記共通部を介して前記コア部に対する前記コアの書き込みを行う
サーバ装置。
(付記4)
付記1乃至3のいずれかに記載のサーバ装置であって、
前記機能パッケージには、前記プログラム可能な回路が実施する機能に応じたOS(Operating System)が含まれている
サーバ装置。
(付記5)
付記1乃至4の何れかに記載のサーバ装置であって、
前記プログラム可能な回路は、FPGA(field-programmable gate array)である
サーバ装置。
(付記6)
プログラム可能な回路を備えるサーバ装置により実行されるサーバ制御方法であって、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を含み、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込む
サーバ制御方法。
(付記7)
プログラム可能な回路を備えるサーバ装置に、
前記プログラム可能な回路が実施する機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を実現させ、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込む
プログラム。
(付記8)
制御装置と、プログラム可能な回路を有するサーバ装置と、を有するサーバシステムであって、
前記制御装置は、前記プログラム可能な回路が実施する機能に応じて予め作成された複数の機能パッケージと、ユーザからの問い合わせに応じて前記機能パッケージを前記サーバ装置に送信する管理部と、を有し、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を含み、
前記サーバ装置は、前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込む
サーバシステム。
(付記9)
付記8に記載のサーバシステムであって、
前記機能パッケージには、前記プログラム可能な回路が実施する機能に応じたアプリケーションが含まれている
サーバシステム。
(付記10)
付記9に記載のサーバシステムであって、
前記機能パッケージには、前記プログラム可能な回路が実施可能な各機能に共通の共通基盤ドライバが含まれており、
前記アプリケーションは、前記コア部に対する前記コアの書き込みを行うよう前記共通基盤ドライバに対して指示し、
前記共通基盤ドライバは、前記指示に応じて、前記共通部を介して前記コア部に対する前記コアの書き込みを行う
サーバシステム。
<Additional Notes>
Part or all of the above embodiments may also be described as in the appendix below. Hereinafter, the outline of the server device and the like in the present invention will be described. However, the present invention is not limited to the following configuration.
(Appendix 1)
A server device with a programmable circuit
The server device includes a core unit set according to a function implemented by the programmable circuit, and a common unit in which a function common to each function implemented by the programmable circuit is preset. ,
When the server device receives a function package provided in advance according to the function performed by the programmable circuit, the server device includes a core according to the function performed by the programmable circuit included in the received function package. A server device that writes to the core.
(Appendix 2)
The server device according to Appendix 1,
A server device in which the functional package contains applications according to the functions performed by the programmable circuit.
(Appendix 3)
The server device described in Appendix 2,
The functional package contains a common board driver common to each function that the programmable circuit can perform.
The application instructs the common board driver to write the core to the core portion.
The common board driver is a server device that writes the core to the core portion via the common portion in response to the instruction.
(Appendix 4)
The server device according to any one of Supplementary note 1 to 3, wherein the server device is described.
The functional package is a server device that includes an OS (Operating System) according to the function performed by the programmable circuit.
(Appendix 5)
The server device according to any one of Supplementary note 1 to 4.
The programmable circuit is a server device that is an FPGA (field-programmable gate array).
(Appendix 6)
A server control method executed by a server device equipped with a programmable circuit.
The server device includes a core unit set according to a function implemented by the programmable circuit, and a common unit in which a function common to each function implemented by the programmable circuit is preset. ,
When the server device receives a function package provided in advance according to the function performed by the programmable circuit, the server device includes a core according to the function performed by the programmable circuit included in the received function package. Server control method to write to the core part.
(Appendix 7)
For server devices with programmable circuits
A core unit set according to the function performed by the programmable circuit and a common unit in which a function common to each function implemented by the programmable circuit is preset are realized.
When the server device receives a functional package provided in advance according to the function performed by the programmable circuit, the server device includes a core according to the function performed by the programmable circuit included in the received functional package. A program to write to the core.
(Appendix 8)
A server system having a control device and a server device having a programmable circuit.
The control device includes a plurality of functional packages created in advance according to the functions performed by the programmable circuit, and a management unit that transmits the functional packages to the server device in response to an inquiry from a user. death,
The server device includes a core unit set according to a function implemented by the programmable circuit, and a common unit in which a function common to each function implemented by the programmable circuit is preset. ,
When the server device receives a function package provided in advance according to the function performed by the programmable circuit, the server device includes a core according to the function performed by the programmable circuit included in the received function package. A server system that writes to the core.
(Appendix 9)
The server system described in Appendix 8
A server system in which the functional package contains applications according to the functions performed by the programmable circuit.
(Appendix 10)
The server system described in Appendix 9,
The functional package contains a common board driver common to each function that the programmable circuit can perform.
The application instructs the common board driver to write the core to the core portion.
The common board driver is a server system that writes the core to the core portion via the common portion in response to the instruction.

なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。 In addition, the program described in each of the above-described embodiments and appendices may be stored in a storage device or recorded in a recording medium readable by a computer. For example, the recording medium is a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, and a semiconductor memory.

以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。 Although the invention of the present application has been described above with reference to each of the above embodiments, the invention of the present application is not limited to the above-described embodiment. Various changes that can be understood by those skilled in the art can be made to the structure and details of the present invention within the scope of the present invention.

1 サーバシステム
10 FPGAアクセラレータ制御システム
11 管理マネージャ
12 記憶装置
121 機能パッケージ
20 サーバ装置
21 FPGA共通基盤
211 FPGAコア部
212 FPGA共通部
22 FPGA
30 LAN
4 ユーザ装置
5 ネットワーク
6 サーバ装置
61 プログラム可能な回路
62 コア部
63 共通部
7 サーバシステム
8 制御装置
81 機能パッケージ
82 管理部
9 サーバ装置
91 プログラム可能な回路
92 コア部
93 共通部

1 Server system 10 FPGA accelerator control system 11 Management manager 12 Storage device 121 Function package 20 Server device 21 FPGA common board 211 FPGA core part 212 FPGA common part 22 FPGA
30 LAN
4 User device 5 Network 6 Server device 61 Programmable circuit 62 Core part 63 Common part 7 Server system 8 Control device 81 Functional package 82 Management part 9 Server device 91 Programmable circuit 92 Core part 93 Common part

Claims (10)

プログラム可能な回路を備えるサーバ装置であって、
前記サーバ装置は、前記プログラム可能な回路が実施する、ユーザからのリクエストに応じた機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を有する共通基盤を含み
前記サーバ装置前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、前記機能パッケージに含まれる共通基盤ドライバは、前記共通基盤の初期化を行い、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込むよう前記共通部に対して指示し、
指示に応じて、前記共通部が前記コアを前記コア部に書き込む
サーバ装置。
A server device with a programmable circuit
In the server device, a core unit set according to a function according to a request from a user performed by the programmable circuit and a function common to each function implemented by the programmable circuit are preset. Including the common part that has been and the common base that has
When the server apparatus receives the function package provided in advance according to the function of the programmable circuit is implemented, functional package public infrastructure driver included in the function package, which initializes the common base, the received Instruct the common section to write the cores contained in the core section according to the functions performed by the programmable circuit.
A server device in which the common unit writes the core to the core unit in response to an instruction.
請求項1に記載のサーバ装置であって、
前記機能パッケージには、前記プログラム可能な回路が実施する機能に応じたアプリケーションが含まれている
サーバ装置。
The server device according to claim 1.
A server device in which the functional package contains applications according to the functions performed by the programmable circuit.
請求項2に記載のサーバ装置であって、
記アプリケーションは、前記コア部に対する前記コアの書き込みを行うよう前記共通基盤ドライバに対して指示し、
前記共通基盤ドライバは、前記指示に応じて、前記共通部を介して前記コア部に対する前記コアの書き込みを行う
サーバ装置。
The server device according to claim 2.
Before SL application instructs to said common base driver to perform writing of said core to said core portion,
The common board driver is a server device that writes the core to the core portion via the common portion in response to the instruction.
請求項1乃至3のいずれかに記載のサーバ装置であって、
前記機能パッケージには、前記プログラム可能な回路が実施する機能に応じたOS(Operating System)が含まれている
サーバ装置。
The server device according to any one of claims 1 to 3.
The functional package is a server device that includes an OS (Operating System) according to the function performed by the programmable circuit.
請求項1乃至4の何れかに記載のサーバ装置であって、
前記プログラム可能な回路は、FPGA(field-programmable gate array)である
サーバ装置。
The server device according to any one of claims 1 to 4.
The programmable circuit is a server device that is an FPGA (field-programmable gate array).
プログラム可能な回路を備えるサーバ装置により実行されるサーバ制御方法であって、
前記サーバ装置は、前記プログラム可能な回路が実施する、ユーザからのリクエストに応じた機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を有する共通基盤を含み
前記サーバ装置は、当該サーバ装置前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、前記共通基盤の初期化を行い、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込むよう前記共通部に対して指示し、指示に応じて、前記共通部が前記コアを前記コア部に書き込む
サーバ制御方法。
A server control method executed by a server device equipped with a programmable circuit.
In the server device, a core unit set according to a function according to a request from a user performed by the programmable circuit and a function common to each function implemented by the programmable circuit are preset. Including the common part that has been and the common base that has
It said server device, when the server device receives the function package provided in advance according to the function of the programmable circuit is implemented, initializes the common base, included in the function package received, the program A server control method in which a common unit is instructed to write a core according to a function performed by a possible circuit to the core unit, and the common unit writes the core to the core unit in response to the instruction.
プログラム可能な回路を備えるサーバ装置に、
前記プログラム可能な回路が実施する、ユーザからのリクエストに応じた機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を有する共通基盤を実現させ
前記サーバ装置に、当該サーバ装置前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、前記共通基盤の初期化を行い、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込むよう前記共通部に対して指示し、指示に応じて、前記共通部が前記コアを前記コア部に書き込む
処理を実現するためのプログラム。
For server devices with programmable circuits
A core unit set according to a function according to a request from a user performed by the programmable circuit, and a common unit in which a function common to each function implemented by the programmable circuit is preset. Realize a common platform with ,
Wherein the server device, when the server device receives the function package provided in advance according to the function of the programmable circuit is implemented, initializes the common base, included in the function package received, the program The common part is instructed to write the core according to the function performed by the possible circuit to the core part, and the common part writes the core to the core part according to the instruction.
A program to realize the processing.
制御装置と、プログラム可能な回路を有するサーバ装置と、を有するサーバシステムであって、
前記制御装置は、前記プログラム可能な回路が実施する機能に応じて予め作成された複数の機能パッケージと、ユーザからの問い合わせに応じて前記機能パッケージを前記サーバ装置に送信する管理部と、を有し、
前記サーバ装置は、前記プログラム可能な回路が実施する、ユーザからのリクエストに応じた機能に応じて設定されるコア部と、前記プログラム可能な回路が実施可能な各機能に共通の機能が予め設定された共通部と、を有する共通基盤を含み
前記サーバ装置前記プログラム可能な回路が実施する機能に応じて予め設けられた機能パッケージを受信すると、前記機能パッケージに含まれる共通基盤ドライバは、前記共通基盤の初期化を行い、受信した機能パッケージに含まれる、前記プログラム可能な回路が実施する機能に応じたコアを前記コア部に書き込むよう前記共通部に対して指示し、
指示に応じて、前記共通部が前記コアを前記コア部に書き込む
サーバシステム。
A server system having a control device and a server device having a programmable circuit.
The control device includes a plurality of functional packages created in advance according to the functions performed by the programmable circuit, and a management unit that transmits the functional packages to the server device in response to an inquiry from a user. death,
In the server device, a core unit set according to a function according to a request from a user performed by the programmable circuit and a function common to each function implemented by the programmable circuit are preset. Including the common part that has been and the common base that has
When the server apparatus receives the function package provided in advance according to the function of the programmable circuit is implemented, functional package public infrastructure driver included in the function package, which initializes the common base, the received Instruct the common section to write the cores contained in the core section according to the functions performed by the programmable circuit.
A server system in which the common unit writes the core to the core unit in response to an instruction.
請求項8に記載のサーバシステムであって、
前記機能パッケージには、前記プログラム可能な回路が実施する機能に応じたアプリケーションが含まれている
サーバシステム。
The server system according to claim 8.
A server system in which the functional package contains applications according to the functions performed by the programmable circuit.
請求項9に記載のサーバシステムであって、
記アプリケーションは、前記コア部に対する前記コアの書き込みを行うよう前記共通基盤ドライバに対して指示し、
前記共通基盤ドライバは、前記指示に応じて、前記共通部を介して前記コア部に対する前記コアの書き込みを行う
サーバシステム。
The server system according to claim 9.
Before SL application instructs to said common base driver to perform writing of said core to said core portion,
The common board driver is a server system that writes the core to the core portion via the common portion in response to the instruction.
JP2017029079A 2017-02-20 2017-02-20 Server device, server control method, program, server system Active JP6984138B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017029079A JP6984138B2 (en) 2017-02-20 2017-02-20 Server device, server control method, program, server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017029079A JP6984138B2 (en) 2017-02-20 2017-02-20 Server device, server control method, program, server system

Publications (2)

Publication Number Publication Date
JP2018136618A JP2018136618A (en) 2018-08-30
JP6984138B2 true JP6984138B2 (en) 2021-12-17

Family

ID=63366867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017029079A Active JP6984138B2 (en) 2017-02-20 2017-02-20 Server device, server control method, program, server system

Country Status (1)

Country Link
JP (1) JP6984138B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007052518A (en) * 2005-08-16 2007-03-01 Sony Corp Information processor, method, and program
JP4994909B2 (en) * 2007-03-26 2012-08-08 キヤノン株式会社 Program management apparatus and method
JP5276632B2 (en) * 2010-08-25 2013-08-28 日本電信電話株式会社 Cluster system and software deployment method
JP2013003935A (en) * 2011-06-20 2013-01-07 Mitsubishi Electric Corp Information processing device, information processing method and program
JP5945512B2 (en) * 2013-02-13 2016-07-05 株式会社日立製作所 Computer system and virtual computer management method

Also Published As

Publication number Publication date
JP2018136618A (en) 2018-08-30

Similar Documents

Publication Publication Date Title
US20240241769A1 (en) System for secure and reliable node lifecycle in elastic workloads
WO2017029826A1 (en) Resource configuration system, resource configuration method and resource configuration program
JP2021043942A (en) Data transmission with obfuscation for data processing (dp) accelerator
US10114633B2 (en) Concurrent I/O enclosure firmware/field-programmable gate array (FPGA) update in a multi-node environment
US10324754B2 (en) Managing virtual machine patterns
US20190251053A1 (en) Selectable peripheral logic in programmable apparatus
US9170850B2 (en) Minimizing workload migrations during cloud maintenance operations
JP2019535092A (en) Intermediate host integrated circuit between virtual machine instance and customer programmable logic
JP2018077846A (en) Method including generation of virtual machine relocation protocol, system and program for facilitating virtual machine relocation
JP2016527604A (en) Pre-configuration and pre-launch computational resources
CN114253658A (en) Continuous testing, integration and deployment management of edge computing
US12282403B2 (en) Stable transformations of networked systems with automation
US12333343B2 (en) Avoidance of workload duplication among split-clusters
JP2021043432A (en) Data transmission obfuscated by an obfuscation unit for data processing (DP) accelerators
US20220286358A1 (en) Template based agentless system configuration management
WO2020028509A1 (en) Method and apparatus for software isolation and security utilizing multi-soc orchestration
CN113157290A (en) Multi-system installation method, computing equipment and storage medium
US20240330069A1 (en) Agentless gitops and custom resources for infrastructure orchestration and management
CN107562519A (en) Moving method, system and the server of virtual machine
US10768961B2 (en) Virtual machine seed image replication through parallel deployment
US10917467B1 (en) Object subscription rule propagation
CN115277398A (en) Cluster network configuration method and device
JP6984138B2 (en) Server device, server control method, program, server system
CN114579250A (en) Method, device and storage medium for constructing virtual cluster
US12277426B2 (en) Characterization and use of hardware bundles

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210623

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211108

R150 Certificate of patent or registration of utility model

Ref document number: 6984138

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150