Logo by kr0mat1k - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Support us via Flattr FLATTR Link
 
*
Welcome, Guest. Please login or register. March 29, 2024, 02:10:46 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Ultra Fractal Server  (Read 3571 times)
0 Members and 2 Guests are viewing this topic.
MattSchultz
Guest
« on: May 15, 2008, 08:50:05 PM »

How much do we know about Ultra Fractal Server? It appears to use HTTP, but I can't really tell, and I don't have time to packet sniff it right now (maybe tonight). Has anybody screwed around with this thing?

I have two reasons for asking:

1) I'd like to make an intelligent load balancer. Given a massively parallel computing cluster (not that I happen to have one...this is theoretical here), I'd like to be able to run one node as a balancer, distributing the rendering intelligently among the other nodes, which can come and go as they please. I understand that the client performs some of this functionality already, but, being all done on the client, it is a bit restricted in terms of scalability and overall performance when compared to a potentially distributed system.

2) While I'm making a load balancer for an HPC, I note that running Windows on an HPC is frankly a waste of processor power (I am a HUGE windows fan, but I recognize that while Windows is a GREAT desktop platform, it should not be used in high-performance computing. That's not its point. You don't need a GUI in HPC, you need a really good memory model, threading model, etc). So how can the server be ported to run as a low linux process?

It is the second question that really is interesting. The first is frankly an enterprise problem that isn't worth solving unless it need to be, as it is frankly not very interesting (basically it involves making a smart HTTP server whatever).

But trying to port the server...hrm. Well we don't have the source code, and our man Fred is not likely to give us the source code, so the only option is to write our own. On thinking about it, however, it doesn't appear that hard. A quick mental exercise exposes the following problems to be solved:

  • The client-server protocol - this can be solved with packet sniffing
  • The encryption of parameter sets - if used in the client-server exchange (it is used to shrink them on copy/paste), this could present a problem. I don't know too much about encryption, and I don't know what method is used, though Fred might tell us if we ask nicely. It isn't really done to protect content, but rather to shrink it, as small enough files are copied unencrypted.
  • The parsing of formula files - this is easy: the syntax is given. We can just pull an AMD and write an original but compliant implementation.
  • The optimization and compilation of formuli - While even UltraFractal is not perfect at this (look at IFS rendering - it is slow as heck), we have to give some thought to how we are going to run formuli. Obviously the best option is to compile to machine code and run that, but that's hard. We can't just sit there and parse it like javascript either, or we aren't going to get anywhere.

So, after the list here, the reader will correctly conclude that, yes, I am suggesting the possibility of writing an original, Ultrafractal-compliant rendering server, which, if correctly written, could be easily ported to other platforms such as Linux, OSX (BSD), NVidia, etc.

These are the problems (hard spots) I came up with. I'm wondering what everyone's take here is on the idea. We seem to have a few good software guys here, and while I am a programmer, I come from mostly a high-level background, doing low level work to support high-level stuff, rather than the other way around. I'm interested to hear what you all think - can this be done? If so, is it worth doing?
Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Server relocation to Michigan, USA Fractal Forums News heneganj 4 1730 Last post November 20, 2006, 02:41:33 AM
by matera
Fractal Ultra Whammy Introduction to Fractals and Related Links andreibalasa 9 5056 Last post September 05, 2011, 05:17:06 AM
by Xazo-Tak
Server slow today Discuss Fractal Forums Pauldelbrot 6 1732 Last post December 20, 2011, 02:02:11 PM
by cKleinhuis
Fractal Discord Chat Server Let's collaborate on something! BlackHoleyWhale 4 8585 Last post January 03, 2017, 08:35:11 AM
by BlackHoleyWhale

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.219 seconds with 25 queries. (Pretty URLs adds 0.006s, 2q)