Is there a max number of Metal threadgroups allowed on a machine? - metal

I can only find the maxTotalThreadsPerThreadgroup property, which is determined by the hardware.
But what about the max total thread groups? Isn't this restricted by the number of SMs on a machine? Can I have as many as I want? Why?

Related

WebRtc Maximum Connections, only using data channels

My question is if I plan to use WebRTC with a p2p architecture but only using its custom data channel to send constant small text messages. ¿What is the maximum number of peer connections that a peer can support? (I know this its heavily going to depend on the device, network... of each peer, but could somebody give me a ballpark estimate).
Edit: By constant text messages i mean around 30 / sec
One of limitations might be maximum amount of available ports in the device's OS. For example, Ubuntu has about 65k available ports. So, supposing that you have enough memory, CPU and network bandwith, and 1 port for 1 data channel then you have ~65k connections.

What are the variables that determine the number of nodes required in Hyperledger Indy Setup?

As part of one of my project implementation, I have to use Hyperledger Indy for providing digital identity to users. The estimated number of users on the platform is 20k. I am stuck on determining what must be the number of nodes required to run Hyperledger Indy for efficient use on production.
The number of nodes depends on the number of faulty nodes you want to permit. To support f faults in the system, you need 3f+1 total nodes. So if you are OK with only 2 nodes failing at any one time, you need f=2 or 7 total nodes. The practical limit has found to be f=8 or 25 total nodes. That balances a robust network with the speed of consensus.
How that relates to the number of users on the platform is a different question. It depends on (a) how many issuers, and (b) how much revocation is happening.
If there is only one issuer and no revocation, there would only be 3 extra transactions beyond the genesis transactions. Not many...

How can I know amount of cores in the CPU for elixir?

I want to limit pool size by amount of CPUs. How can I know amount of cores in the CPU for elixir?
You can use System.schedulers_online/0 to get the number of available schedulers. This defaults to the number of cores.
This can be configured on boot with the +S flag http://erlang.org/doc/man/erl.html#+S
If you really need the number of cores then you can use:
:erlang.system_info(:logical_processors_available)
You can see this option (and many others) on http://www1.erlang.org/doc/man/erlang.html#system_info-1

Is there a limit on the maximum number of ejabberd nodes in a cluster?

What is the maximum number of nodes that can be in a single cluster in ejabberd ? Is there any limit on it.
You can find a listing of the various Erlang limits in the documentation: http://www.erlang.org/doc/efficiency_guide/advanced.html#id70130
You don't get numbers for all of those, because they're configurable, but they're high enough that I doubt you'll reach any of them. However, there are effective limits that are much lower: the network bandwidth connecting all the servers to each other and to the clients is probably the piece that will fail first under a massive number of servers. How much bandwidth your severs have is up to you. How much bandwidth they need is also (mostly) up to you. You'll have to use load-tests to discover what resources you think you need.
Yes, there is limit in the size of a cluster. The cost of synchronization grows with the number of node in the cluster.
The actual limit however depends on the exact architecture of you messaging system. Depending on your need and requirements, you can definitely find ways to make the limit very large.

How to get time required to deliver message in 802.11b network?

Given: 802.11b wireless network , message with fixed size.
Find: how much time would it take to deliver message over Z km distance?
You can't find a definite answer, because the throughput will depend on several interference factors which affect all radio signals. At best you'll get an upper bound:
802.11b has a maximum raw data rate of 11 Mbit/s and uses the same CSMA/CA media access method defined in the original standard. Due to the CSMA/CA protocol overhead, in practice the maximum 802.11b throughput that an application can achieve is about 5.9 Mbit/s using TCP and 7.1 Mbit/s using UDP.
Note that the reach also varies with antenna size and frequency band.
Wi-Fi networks have limited range. A typical wireless router using 802.11b or 802.11g with a stock antenna might have a range of 32 m (120 ft) indoors and 95 m (300 ft) outdoors. The IEEE 802.11n however, can exceed that range by more than two times.[30] Range also varies with frequency band. Wi-Fi in the 2.4 GHz frequency block has slightly better range than Wi-Fi in the 5 GHz frequency block. Outdoor ranges - through use of directional antennas - can be improved with antennas located several kilometres or more from their base. In general, the maximum amount of power that a Wi-Fi device can transmit is limited by local regulations, such as FCC Part 15[31] in USA.
For a comprehensive network simulation software, take a look at the ns series, e.g. the latest ns3.
Sources:
http://en.wikipedia.org/wiki/IEEE_802.11b-1999
http://en.wikipedia.org/wiki/Wi-Fi#Advantages_and_challenges

Resources