[squeak-dev] Setting Memory pointer for bitmap object.. is it possible without plugin?

rabbit rabbit at callistohouse.org
Fri Mar 31 23:59:48 UTC 2023


Basic <TriTryZ> sub-chip architecture
• 3 cores
• 9 threads
https://www.dropbox.com/s/iak13m1wb4951tv/TryTryZ.png?dl=0

—
Have a good one; keep it, light.
Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇

Sent from Callisto House mobile - Ganymede
:: decentralized mobile homeless solutions ::

On Fri, Mar 31, 2023 at 19:46, rabbit <rabbit at callistohouse.org> wrote:

> Enough binary thinking, there’s always a third. Always.
>
> 3 GHz!!! 🤗
>
>> Have a good one; keep it, light.
> Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇
>
> Sent from Callisto House mobile - Ganymede
> :: decentralized mobile homeless solutions ::
>
> On Fri, Mar 31, 2023 at 19:42, rabbit <rabbit at callistohouse.org> wrote:
>
>> Last one.
>>
>> •••
>>
>> Yo <hat> Describe the detailed design considerations building a triple hyper-threaded multi-core processor, with 3 threads per core.
>>
>> •••
>>
>> Designing a triple hyper-threaded multi-core processor with 3 threads per core requires careful consideration of a number of design factors, including architecture, power management, interconnects, and memory hierarchy. Here are some detailed design considerations that could be taken into account:
>>
>> -
>>
>> Architecture: The processor architecture should be designed to support multiple cores with hyper-threading capabilities. Each core should have sufficient resources to execute three threads simultaneously, including dedicated registers, execution units, and branch prediction units.
>>
>> -
>>
>> Power Management: Since a multi-core processor can consume a significant amount of power, advanced power management techniques should be employed to balance performance and power consumption. This could include techniques such as dynamic frequency scaling, power gating, or voltage scaling.
>>
>> -
>>
>> Interconnects: A high-speed interconnect should be designed to allow fast communication between processor cores and other system components. This could include high-speed buses such as PCIe or NVMe.
>>
>> -
>>
>> Memory Hierarchy: An efficient memory hierarchy should be designed to minimize memory access latencies and to ensure that each core has sufficient bandwidth to access memory. This could include a shared L3 cache and a distributed memory architecture.
>>
>> -
>>
>> Instruction Set Architecture: The instruction set architecture should be designed to support the parallel execution of multiple threads, including support for instruction-level parallelism and data-level parallelism.
>>
>> -
>>
>> Branch Prediction: Advanced branch prediction units should be designed to minimize the impact of branch mispredictions on performance. This could include techniques such as dynamic branch prediction and speculative execution.
>>
>> -
>>
>> Clock Frequency: To maximize performance, the processor should be designed to operate at a high clock frequency, with clock rates in excess of 3 GHz being typical for high-performance multi-core processors.
>>
>> -
>>
>> Thermal Design: A high-performance multi-core processor can generate a significant amount of heat, so an efficient thermal design should be implemented to ensure that the processor operates within its thermal limits.
>>
>> Overall, designing a triple hyper-threaded multi-core processor with 3 threads per core requires careful consideration of a wide range of design factors, with a focus on optimizing performance, power consumption, and reliability.
>>
>>>> Have a good one; keep it, light.
>> Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇
>>
>> Sent from Callisto House mobile - Ganymede
>> :: decentralized mobile homeless solutions ::
>>
>> On Fri, Mar 31, 2023 at 19:36, rabbit <rabbit at callistohouse.org> wrote:
>>
>>> Yo <hat> :: Yeah :: How could the opensmalltalk VM benefit from running on new design prospects fabricating a triple hyper-threaded multi core processor? Describe the design and architecture of such a triple hyper-threaded multi core processor.
>>>
>>> •••
>>>
>>> The OpenSmalltalk VM could benefit even further from running on a new design prospect fabricating a triple hyper-threaded multi-core processor.
>>>
>>> A triple hyper-threaded multi-core processor would combine the benefits of multiple processor cores and hyper-threading, allowing for even greater parallelism and throughput. Each core in the processor would be capable of executing multiple threads simultaneously, with the number of threads per core determined by the level of hyper-threading implemented.
>>>
>>> The design and architecture of a triple hyper-threaded multi-core processor would depend on a number of factors, including the target use case and performance requirements. However, some general design considerations and features could include:
>>>
>>> -
>>>
>>> Multiple cores: A triple hyper-threaded multi-core processor would include three or more processor cores, each capable of executing multiple threads simultaneously.
>>>
>>> -
>>>
>>> Hyper-threading: Each core would support hyper-threading, allowing for additional threads to be executed in parallel. The number of threads per core would depend on the level of hyper-threading implemented, with higher levels allowing for more threads per core.
>>>
>>> -
>>>
>>> Shared resources: To maximize performance, a triple hyper-threaded multi-core processor would likely include shared resources such as a shared L3 cache or memory controller. These shared resources would allow the processor cores to more efficiently access shared data and resources.
>>>
>>> -
>>>
>>> Interconnects: To ensure high-speed communication between processor cores and other system components, a triple hyper-threaded multi-core processor would likely include high-speed interconnects such as PCIe, SATA, or NVMe.
>>>
>>> -
>>>
>>> Power management: To balance performance and power consumption, a triple hyper-threaded multi-core processor would likely include advanced power management features such as dynamic frequency scaling, power gating, or voltage scaling.
>>>
>>> Overall, the design and architecture of a triple hyper-threaded multi-core processor would be optimized for high levels of parallelism and throughput, making it well-suited for use in high-performance computing environments and applications that require significant computational power.
>>>
>>>>>> Have a good one; keep it, light.
>>> Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇
>>>
>>> Sent from Callisto House mobile - Ganymede
>>> :: decentralized mobile homeless solutions ::
>>>
>>> On Fri, Mar 31, 2023 at 19:25, rabbit <rabbit at callistohouse.org> wrote:
>>>
>>>>>>>> Have a good one; keep it, light.
>>>> Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇
>>>>
>>>> Sent from Callisto House mobile - Ganymede
>>>> :: decentralized mobile homeless solutions ::
>>>>
>>>> On Fri, Mar 31, 2023 at 19:16, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>>>>
>>>>> On Fri, Mar 31, 2023 at 2:39 PM LawsonEnglish <LEnglish5 at cox.net> wrote:
>>>>>
>>>>>> The Shared Memory facility in most modern OS’s (Mac, Linux and Windows) will allow a pointer between processes. The problem is to get it working with Squeak. Eliot outlined the issues in his response. They are more convoluted than I was hoping for, but presumably it's doable.
>>>>>>
>>>>>> The point of doing it is to create a shared memory IPC option for Squeak, as, in principle, that is the fastest way of doing IPC, and if you’re sharing large chunks of data (e.g. the pixels of an image), the savings can be significant.
>>>>>>
>>>>>> The Mandelbrot Set is simply a simple (and potentially entertaining) way of providing visual feedback that its actually working. Its actually not a good use case for shared memory IPC because, as you drill down into the Set, the time spent for calculations is far more than the time saved using the shared memory, but it would visually demonstrate that something is happening, and far less boring than simply sending arbitrary chunks of memory during testing of the protocol.
>>>>>
>>>>> And note that with image segments one could exchange arbitrary object graphs above a memory-mapped word array with relative ease and speed.
>>>>
>>>> yes, please. I see a Trinity process unit, one user, one comms marshaling and signaling, one Broker, managing naming, bridge mgmt and cache replication/replant ops. DevOps.
>>>> Thanks for all this! 🐰
>>>>
>>>>>> Lawson
>>>>>>
>>>>>>> On Mar 31, 2023, at 00:49, Marcel Taeumel via Squeak-dev wrote:
>>>>>>>
>>>>>>> Hi L --
>>>>>>>
>>>>>>>> The real question is about setting a pointer to the memory used by a Bitmap object.
>>>>>>>
>>>>>>> I would not do that, I don't think it is possible as each project has its own address space. Virtual memory and so on... You cannot simply share pointers between processes. Thus, allocate some inter-process memory and copy initial data (from any Squeak object memory) to there. Then read/write it there.
>>>>>
>>>>> --
>>>>>
>>>>> _,,,^..^,,,_
>>>>> best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20230331/4e96afe9/attachment-0001.html>


More information about the Squeak-dev mailing list