Method and device for executing computing task on cloud system and storage medium
By using active directory domains and virtual private networks in the cloud system, the root user can access the target user data, solving the problems of shortage of computing resources and low security levels in chip design, and achieving secure access to local and cloud data by the user host and management.
Patent Information
- Application Number
- CN202411204477.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2024-12-24
AI Technical Summary
In the chip design industry, some tools are in short supply of computing resources during specific periods, and due to the long tool chain, some tools cannot make full use of computing resources. At the same time, due to the low security level, R&D hosts cannot access external networks, resulting in users being unable to access directly Cloud system data.
A cloud system method is proposed, through the collaborative work of user host, root user and cloud computing resources, using active directory domain and virtual private network, allowing root users to load target user information to access target user data, ensure security and solve users Issues that the host cannot access local or cloud storage.
It realizes that the user host can access and manage local and cloud data while ensuring security, solving the problem that the root user cannot access ordinary user data, and at the same time avoids the user host directly accessing the external network, satisfying the high security of chip design Sexual needs.
Smart Images

Figure CN119182773A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computers, and in particular to a method, device, and storage medium for executing computing tasks on a cloud system. Background Art
[0002] In recent years, with the increase in the scale of chip design, local computing power has been stretched in some cases during the verification process. In addition, the verification process usually involves multiple tools, such as software simulators, formal verification tools, and hardware simulators (including prototype verification devices). A complete chip design involves more tools. Therefore, in the chip design industry, on the one hand, some tools are short of computing resources at certain times, and on the other hand, some tools cannot fully utilize computing resources due to the long tool chain.
[0003] To this end, putting EDA tools on the cloud as cloud computing resources has become a feasible solution to the above problems. Summary of the invention
[0004] In view of this, the present application proposes a method, device, system and storage medium for executing EDA tasks.
[0005] In a first aspect, the present application provides a method for executing a cloud computing task on a cloud system, wherein the cloud system includes a user host, a local host, and cloud computing resources, and the cloud system includes multiple users, including a root user and multiple common users. The method includes: obtaining user information of the multiple common users, the user information is used to identify the identities of the multiple common users respectively, the multiple common users include a target user, and the user information includes target user information corresponding to the target user; receiving a request from the user host to access the target user data of the target user in the cloud computing resource; in response to the request, the root user loads the target user information; and the root user uses the target user information to access the target user data from the cloud computing resource.
[0006] In a second aspect of the present application, a computing device for performing computing tasks is provided, comprising: a memory for storing a plurality of instructions; and at least one processor for executing the plurality of instructions so that the computing device performs the method described in the first aspect.
[0007] According to a third aspect of the present application, a non-transitory computer-readable storage medium is provided, wherein the non-transitory computer-readable storage medium stores a set of instructions for a computing device, wherein the set of instructions is used to enable the computing device to execute the method described in the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] In order to more clearly illustrate the technical solutions in the present application or the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only for the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0009] Figure 1 A schematic diagram of a computing device according to an embodiment of the present application is shown.
[0010] Figure 2 A schematic diagram of a cloud computing resource according to an embodiment of the present application is shown.
[0011] Figure 3 A schematic diagram of an EDA computing system according to an embodiment of the present application is shown.
[0012] Figure 4 A schematic diagram showing a cloud system for managing local and cloud data according to an embodiment of the present application.
[0013] Figure 5 A flow chart of a method for executing cloud computing tasks on a cloud system according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0014] In order to make the objectives, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in combination with specific embodiments and with reference to the accompanying drawings.
[0015] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in this application should be understood by people with ordinary skills in the field to which this application belongs. The words "first", "second" and similar words used in this application do not indicate any order, quantity or importance, but are only used to distinguish different components. "Include" or "comprise" and similar words mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
[0016] Unlike ordinary cloud computing, chip design has extremely high value, which leads to extremely high confidentiality requirements. Usually, the R&D host of chip design companies (that is, users of EDA tools) is not connected to the external network. This means that the R&D host is not directly connected to the cloud system.
[0017] How to enable users to access the data of the cloud system through the R&D host is a technical problem that needs to be solved urgently. However, due to the low security level of ordinary cloud computing, there is no problem that the R&D host cannot access the external network, so there is no such technical problem.
[0018] In order to solve at least the above technical problems, the present application proposes a method, device, and storage medium for performing cloud computing tasks on a cloud system.
[0019] Figure 1 FIG. 1 is a schematic diagram of a computing device 100 according to an embodiment of the present application. Figure 1 As shown, the computing device 100 may include: a processor 102, a memory 104, a network interface 106, a peripheral interface 108 and a bus 110. The processor 102, the memory 104, the network interface 106 and the peripheral interface 108 are connected to each other in communication within the computing device through the bus 110.
[0020] Processor 102 may be a central processing unit (CPU), an image processor, a neural network processor (NPU), a microcontroller (MCU), a programmable logic device, a digital signal processor (DSP), an application specific integrated circuit (ASIC), or one or more integrated circuits. Processor 102 may be used to perform functions related to the technology described in this application. In some embodiments, processor 102 may also include multiple processors integrated into a single logical component. Figure 1 As shown, the processor 102 may include a plurality of processors 102a, 102b, and 102c.
[0021] The memory 104 may be configured to store data (eg, instructions, lists of TCL objects, computer code, attributes of objects and values of attributes, etc.). Figure 1 As shown, the data stored in the memory may include program instructions (for example, program instructions for implementing the method of the target module of the display logic system design of the present application) and data to be processed (for example, the memory may store temporary codes generated in the compilation process, attributes of the object and the values of the attributes, etc.). The processor 102 may also access the program instructions and data stored in the memory, and execute the program instructions to operate on the data to be processed. The memory 104 may include a volatile storage device or a non-volatile storage device. In some embodiments, the memory 104 may include a random access memory (RAM), a read-only memory (ROM), an optical disk, a magnetic disk, a hard disk, a solid-state drive (SSD), a flash memory, a memory stick, etc.
[0022] The network interface 106 can be configured to provide the computing device 100 with communication with other external devices via a network. The network can be any wired or wireless network capable of transmitting and receiving data. For example, the network can be a wired network, a local wireless network (e.g., Bluetooth, WiFi, near field communication (NFC), etc.), a cellular network, the Internet, or a combination thereof. It is understood that the type of network is not limited to the above specific examples. In some embodiments, the network interface 106 may include any number of network interface controllers (NICs), radio frequency modules, transceivers, modems, routers, gateways, adapters, cellular network chips, etc., in any combination.
[0023] The peripheral interface 108 may be configured to connect the computing device 100 to one or more peripheral devices to implement information input and output. For example, the peripheral devices may include input devices such as a keyboard, a mouse, a touch pad, a touch screen, a microphone, and various sensors, and output devices such as a display, a speaker, a vibrator, and an indicator light.
[0024] The bus 110 may be configured to transmit information between various components of the computing device 100 (e.g., the processor 102, the memory 104, the network interface 106, and the peripheral interface 108), such as an internal bus (e.g., a processor-memory bus), an external bus (USB port, PCI-E bus), etc.
[0025] It should be noted that, although the above computing device architecture only shows the processor 102, the memory 104, the network interface 106, the peripheral interface 108 and the bus 110, in the specific implementation process, the computing device architecture may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above computing device architecture may also only include components necessary for implementing the embodiments of the present application, and does not necessarily include all the components shown in the figure.
[0026] Figure 2 A schematic diagram of a cloud computing resource 120 according to an embodiment of the present application is shown.
[0027] like Figure 2 As shown, the cloud computing resources 120 may include multiple cloud servers (122, 124) and multiple hardware simulation tools (e.g., 126a, 126b, 126c). It is understandable that the cloud computing resources 120 may include more types of resources. Here, only cloud servers and hardware simulation tools are used as examples for illustration and are not intended to be limiting. These cloud servers may be, for example, Figure 1The computing device 100 shown is a computer provided by a cloud computing server. The cloud server (122, 124) can provide computing resources to users on the one hand, and can also serve as a host of hardware simulation resources to call multiple hardware simulation tools (e.g., 126a, 126b, 126c) in the cloud computing resource 120 on the other hand. It is understandable that multiple hardware simulation tools can be connected to multiple hosts. Figure 2 Just an example.
[0028] The multiple hardware simulation tools may include a hardware emulator, a prototype verification tool, and peripheral boards (eg, various daughter cards, etc.) connected to the hardware emulator or the prototype verification tool. It is understandable that the multiple hardware simulation tools may include more hardware resources and are not limited to the above examples.
[0029] The cloud computing resources 120 may be used to provide verification cloud computing resources, which may include a processor (eg, provided by a cloud server), a memory (eg, provided by a cloud server), a hardware simulation tool, and the like.
[0030] Figure 3 A schematic diagram of an EDA computing system 130 according to an embodiment of the present application is shown.
[0031] The EDA computing system 130 of the present application may be a local computing system and may include a local host 132. In some embodiments, the computing system 130 may further include a local computing resource 134.
[0032] The local host 132 may be Figure 1 The computing device 100 shown. The local host 132 can provide a resource manager to the user, and provide an interface connected to the cloud computing resources 120 and an interface connected to the computing resources 134a and 134b. The local host 132 can also allocate different computing tasks to the cloud or the local accordingly. For example, the local host 132 can run a cloud management system client to implement multi-task management of multiple users.
[0033] In some embodiments, the local computing resource 134 may include at least one of a server 134a or a hardware verification tool 134b. The plurality of EDA tasks may be partially executed on the cloud computing resource 120 and partially executed on the local computing resource 134. It is understood that the plurality of EDA tasks may also be executed only on the cloud computing resource 120 or only on the local computing resource 134.
[0034] The server 134a may be Figure 1The host 100 shown. In some embodiments, the server 134a can run at least one EDA software tool (e.g., a software simulator, a formal verification tool, etc.). The server 134a can also serve as a host of a hardware verification tool 134b, and is used to collaborate with the hardware verification tool 134b to complete verification tasks and read verification results.
[0035] The hardware verification tool 134 b may illustratively include hardware verification tools such as a prototype verification board and a hardware emulator.
[0036] although Figure 3 Only a limited number of local computing resources 134 are used, but those skilled in the art will appreciate that any number of local computing resources 134 can be provided according to actual needs. In other words, there can be multiple servers 134a and multiple hardware verification tools 134b. The servers 134a and the hardware verification tools 134b are not necessarily provided in a one-to-one pairing. For example, one server 134a can be connected to multiple hardware verification tools.
[0037] The local host 132 can be connected to the user host 300. In some embodiments, the local host 132 and the user host 300 can be one host. Figure 3 This is only an example. Usually, the local host 132 is used to run and manage the cloud computing resources 120 and the local computing resources 134. For example, the local host 132 can run the FusionFlex management software produced by Xinhuazhang Technology Co., Ltd. to manage the cloud computing resources 120 and the local computing resources 134. The FusionFlex management software is also called the root user. The user can issue instructions (for example, the command release of the computing task) to the local host 132 via the user host 300 connected to the local host 132, and view the execution status and execution results of the computing task on the user host 300.
[0038] Usually, in order to ensure security, the user host 300 cannot be directly connected to the cloud computing resource 120. The local host 132 can be connected to the cloud computing resource 120 through, for example, a virtual private network (VPN). In other words, the user host 300 can connect to the cloud computing resource 120 through the VPN via the local host 132 to obtain the required data (for example, simulation results, etc.).
[0039] Figure 4 A schematic diagram of a cloud system 400 for managing local and cloud data according to an embodiment of the present application is shown.
[0040] The cloud system 400 may include a user host 300, a local host 132, and cloud computing resources 120. The cloud system 400 may include multiple users, including a root user and multiple common users.
[0041] like Figure 4 As shown, the area on the left side of the dashed line is a red area that prohibits external network access, which may include the user host 300 and the local shared storage 402; the area on the right side of the dashed line is an external network area, which may include the cloud computing resources 120; the area between the dashed line and the dashed line is a yellow area belonging to the user's internal area, which may be connected to the cloud computing resources 120 via a VPN. It should be noted that the user host 300 cannot directly access the local shared storage 402.
[0042] As described above, the local host 132 can run the cloud management system client to implement multi-task management for multiple users. In order to enable multiple users to access the local shared storage 402, the active directory (AD) domain 406 is usually enabled, so that although the local shared storage 402 stores the data of multiple ordinary users, each ordinary user can only access his own data, protecting the data security of other ordinary users. At the same time, the cloud storage 404 can also be displayed as the storage of the ordinary user on the user host 300, so that the local storage and cloud storage are managed in a unified manner.
[0043] However, for security reasons, in order to prevent the root user from seeing the data of other ordinary users, the Active Directory domain 406 will prevent the root user of the local host 132 from accessing the local shared storage 402 or the cloud storage 404. However, due to the high security requirements of the cloud system, the user host 300 cannot directly access the local shared storage 402 or the cloud storage 404. Under the existing technical framework, the user host 300 that can access the local shared storage 402 or the cloud storage 404 is restricted by the Active Directory domain 406 and cannot read user data.
[0044] Therefore, under the premise of ensuring security, how to solve the problem of user host 300 accessing local shared storage 402 or cloud storage 404 is a technical problem that needs to be solved urgently.
[0045] In some embodiments, the local host 132 may obtain user information of the plurality of common users. The user information may be used to identify the identities of the plurality of common users respectively. The plurality of common users may include a target user 408, and the user information may include target user information corresponding to the target user 408. The plurality of common users are registered in the active directory domain 406. The root user has no right to access the target user data of the cloud computing resource 120 under the active directory domain.
[0046] In some embodiments, local host 132 may receive a request from user host 300 to access target user data of target user 408 in cloud computing resource 120. As described above, user host 300 cannot directly access cloud computing resource 120 for security considerations of user data.
[0047] In some embodiments, the local host 132 may include a local shared storage 402 . In one example, the local shared storage 402 is a network file system (NFS) server. The cloud computing resources 120 include cloud storage 404 .
[0048] In some embodiments, in response to the request, the local host 132 may load the target user information by the root user.
[0049] In some embodiments, the local host 132 can access the target user data from the cloud computing resource 120 by the root user using the target user information. Here, accessing the target user data further includes: reading the target user data from the cloud storage 404; or writing the target user data to the cloud storage 404. The cloud storage 404 may include user data corresponding to multiple users respectively.
[0050] Taking reading as an example, the target user data is read to the local host 132 via VPN. Through the AD domain 406, the user host 300 can view the data of the cloud storage 404 just like viewing the local storage, while actually not accessing the cloud storage 404.
[0051] In this way, the root user (that is, the local host 132 running, for example, the FusionFlex management software) loads the target user information and obtains the authority to access the exclusive data of the target user in the AD domain, thereby solving the problem in the prior art that the root user cannot access the data of ordinary users, while also not destroying the security of the system (that is, the user host 300 still cannot access the external network).
[0052] Figure 5 A flow chart of a method 500 for executing a cloud computing task on a cloud system (e.g., cloud system 400) according to an embodiment of the present application is shown. Cloud system 400 may include user host 300, local host 132, and cloud computing resources 120. Cloud system 400 may include multiple users. The multiple users include a root user and multiple common users.
[0053] Method 500 may be performed by, for example Figure 5 The local host 132 is shown to execute. The cloud computing task may be a task related to the logical system design, such as accessing data. The method 500 may include the following steps.
[0054] In step 502, the local host 132 may obtain user information of the plurality of common users. The user information may be used to identify the identities of the plurality of common users respectively. The plurality of common users may include a target user 408, and the user information may include target user information corresponding to the target user 408. The plurality of common users are registered in the active directory domain 406. The root user has no right to access the target user data of the cloud computing resource 120 under the active directory domain.
[0055] At step 504, the local host 132 may receive a request from the user host 300 to access the target user data of the target user 408 in the cloud computing resource 120. As described above, for security considerations of user data, the user host 300 cannot directly access the cloud computing resource 120.
[0056] The local host 132 may include a local shared storage 402 . In one example, the local shared storage 402 is a network file system (NFS) server. The cloud computing resources 120 include a cloud storage 404 .
[0057] In step 506, in response to the request, the local host 132 may load the target user information by the root user. The target user information may include the user's identification. In some embodiments, the target user information may also include the user's password.
[0058] At step 508, the local host 132 can access the target user data from the cloud computing resource 120 by the root user using the target user information. Here, accessing the target user data further includes: reading the target user data from the cloud storage 404; or writing the target user data to the cloud storage 404. The cloud storage 404 can include user data corresponding to multiple users respectively.
[0059] In this way, the root user (that is, the local host 132 running, for example, the FusionFlex management software) loads the target user information and obtains the authority to access the exclusive data of the target user in the AD domain, thereby solving the problem in the prior art that the root user cannot access the data of ordinary users, while also not destroying the security of the system (that is, the user host 300 still cannot access the external network).
[0060] The present application also provides a computing device (eg, Figure 4 The local host 132 includes: a memory for storing a plurality of instructions; and at least one processor for executing the plurality of instructions so that the computing system performs the method 500 described above.
[0061] An embodiment of the present application also provides a non-transitory computer-readable storage medium, which stores a set of instructions for a computing device, and the set of instructions is used to enable the computing device to execute the method 500 described above.
[0062] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.
[0063] The above describes specific embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0064] A person skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application (including the claims) is limited to these examples. In line with the concept of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the present application as described above, which are not provided in detail for the sake of simplicity.
[0065] Although the present application has been described in conjunction with specific embodiments of the present application, many alternatives, modifications and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may use the discussed embodiments.
[0066] This application is intended to cover all such substitutions, modifications and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this application should be included in the scope of protection of this application.
Claims
1. A method for performing cloud computing tasks on a cloud system, wherein: The cloud system includes a user host, a local host and cloud computing resources, the cloud system includes multiple users, the multiple users include a root user and multiple common users, and the method includes: Acquire user information of the plurality of common users, the user information being used to respectively identify the identities of the plurality of common users, the plurality of common users including a target user, and the user information including target user information corresponding to the target user; receiving, from the user host, a request for accessing target user data of the target user of the target user in the cloud computing resource; In response to the request, the root user loads the target user information; The target user data is accessed from the cloud computing resource by the root user using the target user information.
2. The method of claim 1, wherein: The user host cannot directly access cloud computing resources.
3. The method of claim 1, wherein: The plurality of common users are registered in an active directory domain, and the root user has no right to access target user data of the cloud computing resource in the active directory domain.
4. The method of claim 1, wherein: The local host includes a network file system server, and the cloud computing resources include cloud storage.
5. The method of claim 4, wherein: Accessing the target user data further includes: Read the target user data from the cloud storage; or The target user data is written to the cloud storage.
6. The method of claim 4, wherein: The cloud storage includes user data corresponding to the multiple users respectively.
7. A computing device for performing a computing task, comprising: A memory for storing a plurality of instructions; as well as At least one processor is configured to execute the plurality of instructions so that the computing device performs the method according to any one of claims 1 to 6.
8. A non-transitory computer-readable storage medium storing a set of instructions for a computing device, the set of instructions being used to cause the computing device to execute the method according to any one of claims 1 to 6.
Citation Information
Cited By
Cloud system access method and device, electronic equipment and readable storage medium
CN118842632A
