It seems like it was only a matter of time. In 2019, Apple finally gave in to vocal requests for a PC-like modular professional tower system to replace its idiosyncratic 2013-era trash-can Mac Pro, but it never really felt like the company’s heart was in the new, somewhat more traditional model. Apple last refreshed it in 2023 with an M2 Ultra processor, after which it simply began the process of slowly vanishing. On Thursday, the company confirmed to 9to5Mac that it had been discontinued and wouldn’t be replaced.

I reached out to Apple for more information, but didn’t immediately hear back.

Part of the Mac Pro’s problem was that the intent didn’t fit comfortably into Apple’s system-on-chip strategy for its M-series processors. As I commented at the time, “One irony of the M2 Ultra upgrade, though, is that Apple has essentially made the Mac Pro less modular, which was the reason everyone clamored for it to begin with.” 

SoCs integrate the memory and GPU on-chip, and the whole point of workstation-class modularity is the ability to upgrade the memory and GPU, as well as link multiple GPUs: The chips don’t support discrete GPUs, either. And with all the slots essentially there for Afterburner-type add-in cards for heavy-duty video processing — they’ve also disappeared, by the way — I always felt like the target market was rather narrowly focused on people in Apple TV and cinema production workflows. 

Another reason modularity is important for this class of workstations is that they’re really expensive and, in a lot of cases, are serviced by IT departments, which are very fond of mixing and matching components, passing them down as the luckier folks get upgraded to newer gear. And being able to spread the expense of the new system over time is appealing, too. 

The compact Mac Studio, the company’s most powerful desktop, replaced the Mac Pro as the flagship performer with the launch of the M3 Ultra, and it aligns far better with Apple’s silicon strategy. The Pro Display XDR debuted in conjunction with the Mac Pro and was intended for that same audience. It too was discontinued this year and replaced with the smaller, more prosumer-friendly and Mac Studio-aligned Studio Display XDR

Now that a lot of the high-end workstation market has pivoted to GPU-intensive AI operations like machine learning (especially deep learning) and related development like robotics, the lack of upgradability has become even more of a downside. It makes sense that Apple would want to funnel its Ultra chips into the more popular Mac Studios.

I suppose the upside is that Apple doesn’t have to scavenge for memory and other components in short supply, thanks to AI-driven shortages, or have to renew its ties with Nvidia, which Apple broke with in 2018.





Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


What are Socket Programming in Java

Socket programming is a method where two nodes on a network can connect and communicate with one another. While another socket reaches out to the first socket to establish a connection, one socket (or node) listens on a specific port at an IP address.
While the customer reaches out for the server, the server creates the listener socket. For connection-oriented socket programming, the classes Socket and Server Socket are utilized.

Programming using Java Sockets can be either connection-oriented or connection-less. For connection-oriented socket programming, While the customer reaches out for the server, the server creates the listener socket. For connection-oriented socket programming, the classes Socket and Server Socket are utilized. and DatagramSocket classes are used, while Socket and ServerSocket are used for connection-less socket programming.

What Is Java Socket

A Java socket is one terminal of a 2-way networked communication relationship between two programs. For the TCP layer to recognize the program that data is intended to be transferred to, a socket is tied to a port number.

Java Socket

A port number and an IP address make up an endpoint. An implementation of one side of a 2-way connection between the Java program and another program on the network is made possible by the class Socket, which is part of the Java platform’s package. The class resides on top of the platform-specific implementation, shielding your Java program from the specifics of every given system. Your Java programs can interact over the web in a platform-independent manner by utilizing the class rather than depending on native code.

Client-Side Programming

When using the client side, in the programming, the client initially watches for the server to launch. The requests will be sent to the server once it is operational. The client will then watch for the server’s answer. So, this is how server and client communication functions overall. Let’s now go deeper into client-side and server-side programming.

For starting with the requests from the client-side, the user needs to process the following steps:

Establish a connection :

Creating a socket connection is the initial action. The socket connection signifies that the 2 machines are aware of each other’s IP address and TCP port on the network.

The following statement will let you construct a socket:

Socket s = new s(“127.0.0.1”, 5000)

The first input in this case denotes the server’s IP address.

The TCP Port is represented by the second parameter. (A number that indicates which server-side program should be running.)

Communication :

Streams are utilized for both data input and output when communicating via a socket connection. You must shut down the connection after opening it and sending the requests.

Closing the connection :
Once the message has been transmitted to the server, the socket connection will explicitly close.

Wish to make a career in the world of Java? Start with HKR’S Java Training !

Java Certification Training

  • Master Your Craft
  • Lifetime LMS & Faculty Access
  • 24/7 online expert support
  • Real-world & Project Based Learning

Server-Side Programming

In essence, the server will create its object and await a request from the client. The server will reply with the response once the client will send the request.
Two sockets are required in order to program the server-side application, and they are as follows:

When a client calls newSocket(), a ServerSocket that is waiting for the requests from the client is created. There is a straightforward socket for client communication.
Following that, you must inform the client of the outcome.

Communication

The output is sent across the socket using the getOutputStream() function.

Closing the connection

Once everything is finished, it’s crucial to shut off the connection by shutting the socket and any active input/output streams.

  • You can run the server-side program first after configuring the client and server ends. After that, you must transmit the request and start client-side software. The server will reply as the client sends the request. The image below shows the same.

Closing the connection

  • The client will establish a connection and enter the request as a string.

Closing the connection 2

  • The server will reply to the request sent by the client.

Closing the connection 3

You must run a Java socket program in the given manner. These programs can also be run via a command window or terminal. However, as Eclipse is very feature-rich, you can easily run both apps on a console.

Top 30 frequently asked JAVA Interview Questions !

HKR Trainings Logo

Subscribe to our YouTube channel to get new updates..!

Testing The Applications

The testing of applications is done using the IntelliJ application or any other IDE. 

  • Put the two programs together.
  • Start the client application after starting the server software.
  • Write a message in the client window, and the server window will simultaneously receive and display them.
  • Type BYE to leave.

This can be done using a command prompt also:

  • Create a new folder called project (this is the name of your package).
  • Place the project folder’s Server.java and Client.java files.
  • Go to the root path on the command prompt after opening it.
  • Run java project.Server first, then javac projectServer.java.
  • Use the same process to run the client and server programs.
  • Messages can then be typed in the window of the client.

The application can fail when a port has already been in use. Modify port no to a special number to resolve this problem.

Acquire Jenkins certification by enrolling in the HKR Jenkins Training program in Hyderabad!

Java Certification Training

Weekday / Weekend Batches

Conclusion

In this article, we have talked about socket and socket programming. Socket programming is a method where two nodes on a network can connect and communicate with one another. While another socket reaches out to the first socket to establish a connection, one socket (or node) listens on a specific port at an IP address. We have also discussed client-side and server-side along with testing the applications.

Related Article:

Drools Interview Questions



Source link