Language-based model for isolating shared state

    公开(公告)号:US09753698B2

    公开(公告)日:2017-09-05

    申请号:US12482270

    申请日:2009-06-10

    摘要: A method and/or computer program that incorporates isolation principles of separate address spaces and enforces the principles with a compiler and supporting runtime through a language-based model is disclosed. This approach significantly lowers the required overhead and retains the beneficial qualities of the scalable, isolated model. The model is implemented in a programming language where memory-based state is partitioned into a plurality of domains where the variables inside of a domain are isolated from external components. Agents are introduced inside of the domain and act on behalf of clients outside of the domain. The agents communicate with their clients via message-passing to enforce the isolation of the domain state. The domain-based isolation addresses the partitioning of memory-based state without the introduction of separate processes. Domains can also be used in conjunction with a distributed model either within a single computing device or between computing devices.

    LANGUAGE-BASED MODEL FOR ISOLATING SHARED STATE
    2.
    发明申请
    LANGUAGE-BASED MODEL FOR ISOLATING SHARED STATE 有权
    用于分离共享状态的基于语言的模型

    公开(公告)号:US20100318975A1

    公开(公告)日:2010-12-16

    申请号:US12482270

    申请日:2009-06-10

    IPC分类号: G06F9/45

    摘要: A method and/or computer program that incorporates isolation principles of separate address spaces and enforces the principles with a compiler and supporting runtime through a language-based model is disclosed. This approach significantly lowers the required overhead and retains the beneficial qualities of the scalable, isolated model. The model is implemented in a programming language where memory-based state is partitioned into a plurality of domains where the variables inside of a domain are isolated from external components. Agents are introduced inside of the domain and act on behalf of clients outside of the domain. The agents communicate with their clients via message-passing to enforce the isolation of the domain state. The domain-based isolation addresses the partitioning of memory-based state without the introduction of separate processes. Domains can also be used in conjunction with a distributed model either within a single computing device or between computing devices.

    摘要翻译: 公开了一种包含单独地址空间的隔离原理的方法和/或计算机程序,并且通过基于语言的模型来实现与编译器的原理并支持运行时。 这种方法显着降低了所需的开销,并保留了可扩展的隔离模型的有益质量。 该模型以编程语言实现,其中基于存储器的状态被分割成多个域,其中域内的变量与外部组件隔离。 代理被引入域内部,并代表域外的客户端进行操作。 代理商通过消息传递与客户端进行通信,以强制实现域状态的隔离。 基于域的隔离解决了基于内存的状态的划分,而不引入单独的进程。 域也可以在单个计算设备内部或计算设备之间与分布式模型结合使用。

    WRITER/READER/NO-ACCESS DOMAIN DATA ACCESSIBILITY
    3.
    发明申请
    WRITER/READER/NO-ACCESS DOMAIN DATA ACCESSIBILITY 有权
    WRITER / READER /无访问域数据访问

    公开(公告)号:US20110161604A1

    公开(公告)日:2011-06-30

    申请号:US12649255

    申请日:2009-12-29

    IPC分类号: G06F12/10

    摘要: Multiple types of executable agents operating within a domain. The domain includes mutable shared state and immutable shared state, with agents internal to the domain only operating on the shared state. Writer agents are defined to be agents that have read access and write access to mutable shared state and read access only to immutable shared state. General reader agents have read access to both mutable shared state and immutable shared state and have no write access. Immutable reader agents have read access to only immutable shared state and have no write access. By appropriate scheduling of the different types of agents, data races may be reduced or eliminated.

    摘要翻译: 域内运行的多种类型的可执行代理。 域包括可变共享状态和不可变共享状态,域内的代理只能在共享状态下运行。 作者代理被定义为具有对可变共享状态的读访问和写访问权限的代理,并且仅对不可变共享状态的读访问。 通用读写器代理读取访问可变共享状态和不可变共享状态,并且不具有写入权限。 不可变的读取器代理只读访问只有不可变的共享状态,没有写入权限。 通过适当调度不同类型的代理,可以减少或消除数据竞争。

    Dataflow component scheduling using reader/writer semantics
    4.
    发明授权
    Dataflow component scheduling using reader/writer semantics 有权
    数据流组件调度使用读/写器语义

    公开(公告)号:US08316369B2

    公开(公告)日:2012-11-20

    申请号:US12649254

    申请日:2009-12-29

    IPC分类号: G06F9/46

    CPC分类号: G06F9/52

    摘要: The scheduling of dataflow components in a dataflow network. A number, if not all, of the dataflow components are created using a domain/agent model. A scheduler identifies, for a number of the components, a creation source for the given component. The scheduler also identifies an appropriate domain-level access permission (and potentially also an appropriate agent-level access permission) for the given component based on the creation source of the given component. Tokens may be used at the domain or agent level to control access.

    摘要翻译: 数据流网络中数据流组件的调度。 使用域/代理模型创建数字(如果不是全部)数据流组件。 调度程序为多个组件识别给定组件的创建源。 调度程序还根据给定组件的创建源,为给定组件标识适当的域级访问权限(并且可能还需要适当的代理级访问权限)。 可以在域或代理级别使用令牌来控制访问。

    COMPILER-ENFORCED AGENT ACCESS RESTRICTION
    5.
    发明申请
    COMPILER-ENFORCED AGENT ACCESS RESTRICTION 有权
    编译器执行代理访问限制

    公开(公告)号:US20110161610A1

    公开(公告)日:2011-06-30

    申请号:US12649252

    申请日:2009-12-29

    IPC分类号: G06F21/00 G06F12/02

    CPC分类号: G06F9/526 G06F8/41

    摘要: A compiler that enforces, at compile time, domain data access permissions and/or agent data access permissions on at least one agent to be created within a domain. The compiler identifies domain data of a domain to be created, and an agent to be created within the domain at runtime. The domain access permissions of the agent are also identified. As part of compilation of an expression of an agent, a reference to the domain data is identified. Then, the compiler evaluates an operation that the reference to the domain data would impose on the domain data upon evaluating the expression at runtime. The compiler then determines whether or not the operation is in violation of the domain access permissions of the agent with respect to the identified domain data. Agent data access may also be evaluated depending on whether the access occurs by a function or a method.

    摘要翻译: 在编译时强制在域中创建的至少一个代理的域数据访问权限和/或代理数据访问权限的编译器。 编译器识别要创建的域的域数据,以及在运行时在域内创建的代理。 还会识别代理的域访问权限。 作为汇编代理人表达的一部分,对域数据的引用进行了识别。 然后,编译器在运行时评估表达式时,评估对域数据对域数据的引用的操作。 然后,编译器确定该操作是否违反代理相对于所识别的域数据的域访问权限。 代理数据访问也可以根据访问是由功能还是方法进行评估。

    Method for managing data accessibility by scheduling three types of executable agents associated with pre-defined access rights within a domain
    6.
    发明授权
    Method for managing data accessibility by scheduling three types of executable agents associated with pre-defined access rights within a domain 有权
    通过调度与域内的预定义访问权限相关联的三种类型的可执行代理来管理数据可访问性的方法

    公开(公告)号:US08695003B2

    公开(公告)日:2014-04-08

    申请号:US12649255

    申请日:2009-12-29

    IPC分类号: G06F9/46

    摘要: Multiple types of executable agents operating within a domain. The domain includes mutable shared state and immutable shared state, with agents internal to the domain only operating on the shared state. Writer agents are defined to be agents that have read access and write access to mutable shared state and read access only to immutable shared state. General reader agents have read access to both mutable shared state and immutable shared state and have no write access. Immutable reader agents have read access to only immutable shared state and have no write access. By appropriate scheduling of the different types of agents, data races may be reduced or eliminated.

    摘要翻译: 域内运行的多种类型的可执行代理。 域包括可变共享状态和不可变共享状态,域内的代理只能在共享状态下运行。 作者代理被定义为具有对可变共享状态的读访问和写访问权限的代理,并且仅对不可变共享状态的读访问。 通用读写器代理读取访问可变共享状态和不可变共享状态,并且不具有写入权限。 不可变的读取器代理只读访问只有不可变的共享状态,没有写入权限。 通过适当调度不同类型的代理,可以减少或消除数据竞争。

    Compiler-enforced agent access restriction
    7.
    发明授权
    Compiler-enforced agent access restriction 有权
    编译器执行代理访问限制

    公开(公告)号:US08566544B2

    公开(公告)日:2013-10-22

    申请号:US12649252

    申请日:2009-12-29

    IPC分类号: G06F12/00 G06F9/46

    CPC分类号: G06F9/526 G06F8/41

    摘要: A compiler that enforces, at compile time, domain data access permissions and/or agent data access permissions on at least one agent to be created within a domain. The compiler identifies domain data of a domain to be created, and an agent to be created within the domain at runtime. The domain access permissions of the agent are also identified. As part of compilation of an expression of an agent, a H reference to the domain data is identified. Then, the compiler evaluates an operation that the reference to the domain data would impose on the domain data upon evaluating the expression at runtime. The compiler then determines whether or not the operation is in violation of the domain access permissions of the agent with respect to the identified domain data. Agent data access may also be evaluated depending on whether the access occurs by a function or a method.

    摘要翻译: 在编译时强制在域中创建的至少一个代理的域数据访问权限和/或代理数据访问权限的编译器。 编译器识别要创建的域的域数据,以及在运行时在域内创建的代理。 还会识别代理的域访问权限。 作为汇编代理人表达的一部分,对域数据的H引用进行了识别。 然后,编译器在运行时评估表达式时,评估对域数据对域数据的引用的操作。 然后,编译器确定该操作是否违反代理相对于所识别的域数据的域访问权限。 代理数据访问也可以根据访问是由功能还是方法进行评估。

    LANGUAGE-BASED MODEL FOR ASYNCHRONOUS OPERATIONS
    8.
    发明申请
    LANGUAGE-BASED MODEL FOR ASYNCHRONOUS OPERATIONS 审中-公开
    用于异步操作的基于语言的模型

    公开(公告)号:US20110173595A1

    公开(公告)日:2011-07-14

    申请号:US12684753

    申请日:2010-01-08

    IPC分类号: G06F9/45

    CPC分类号: G06F8/433

    摘要: The compilation of user code. Upon accessing the user code, the compiler determines that the user code includes at least one top-level asynchronous operation that is 1) to operate at a top-level of the stack of the programmed code, 2) that is programmed using a syntax for synchronous operations and 3) includes at least one indicator that the operation is to be asynchronous. The user code is then compiled such that the top-level asynchronous operation programmed in the syntax for synchronous operations is transformed into an asynchronous pattern suitable for the runtime environment.

    摘要翻译: 编译用户代码。 在访问用户代码时,编译器确定用户代码包括至少一个顶级异步操作,其为1)在编程代码的堆栈的顶层操作,2)使用语法为 同步操作和3)包括至少一个操作是异步的指示符。 然后编译用户代码,使得在用于同步操作的语法中编程的顶级异步操作被转换成适合于运行时环境的异步模式。

    DATAFLOW COMPONENT SCHEDULING USING READER/WRITER SEMANTICS
    9.
    发明申请
    DATAFLOW COMPONENT SCHEDULING USING READER/WRITER SEMANTICS 有权
    使用阅读器/写入语句的数据流组件调度

    公开(公告)号:US20110161962A1

    公开(公告)日:2011-06-30

    申请号:US12649254

    申请日:2009-12-29

    IPC分类号: G06F9/46

    CPC分类号: G06F9/52

    摘要: The scheduling of dataflow components in a dataflow network. A number, if not all, of the dataflow components are created using a domain/agent model. A scheduler identifies, for a number of the components, a creation source for the given component. The scheduler also identifies an appropriate domain-level access permission (and potentially also an appropriate agent-level access permission) for the given component based on the creation source of the given component. Tokens may be used at the domain or agent level to control access.

    摘要翻译: 数据流网络中数据流组件的调度。 使用域/代理模型创建数字(如果不是全部)数据流组件。 调度程序为多个组件标识给定组件的创建源。 调度程序还根据给定组件的创建源,为给定组件标识适当的域级访问权限(并且可能还需要适当的代理级访问权限)。 可以在域或代理级别使用令牌来控制访问。

    Scheduling collections in a scheduler
    10.
    发明授权
    Scheduling collections in a scheduler 有权
    在调度程序中调度集合

    公开(公告)号:US08561072B2

    公开(公告)日:2013-10-15

    申请号:US12121794

    申请日:2008-05-16

    IPC分类号: G06F9/46 G06F9/06 G06F13/00

    CPC分类号: G06F9/4881 G06F2209/483

    摘要: A scheduler in a process of a computer system includes a respective scheduling collection for each scheduling node in the scheduler. The scheduling collections are mapped into at least a partial search order based on one or more execution metrics. When a processing resource in a scheduling node becomes available, the processing resource first attempts to locate a task to execute in a scheduling collection corresponding to the scheduling node before searching other scheduling collections in an order specified by the search order.

    摘要翻译: 计算机系统的过程中的调度器包括调度器中每个调度节点的相应调度收集。 基于一个或多个执行度量将调度集合映射到至少部分搜索顺序。 当调度节点中的处理资源变得可用时,处理资源首先尝试在按照搜索顺序指定的顺序搜索其他调度集合之前,在与调度节点相对应的调度集合中定位要执行的任务。